• Linux程序设计(二)shell程序设计


    1. 管道和重定向

    文件描述符0:一个程序的标准输入

    文件描述符1:标准输出

    文件描述符2:标准错误输出

    >操作符:把标准输出重定向到一个文件。

    >>操作符:将输出内容附加到一个文件中。

    |操作符:连接进程。

    2. 作为程序设计语言的shell

    2.1 创建脚本

    注释以#符号开始。

    #!字符告诉系统同一行上紧跟在它后面的寻附上参数是用来执行本文件的程序。

    2.2 把脚本设置为可执行

    chmod +x first

    3. shell的语法

    3.1 变量

    默认情况下,所有变量被看作字符串并以字符串来存储。如果字符串里包含空格,必须用引号把它们括起来。

    在shell中,通过在变量名前加 一个$符号来访问它的内容。当为变量赋值时,只需变量名。

    zhangxin@zhangxin-VirtualBox:~/mypro$ salutation=hello
    zhangxin@zhangxin-VirtualBox:~/mypro$ echo $salutation
    hello
    zhangxin@zhangxin-VirtualBox:~/mypro$ salutation = 'hello world'
    salutation:未找到命令
    zhangxin@zhangxin-VirtualBox:~/mypro$ salutation='hello world'
    zhangxin@zhangxin-VirtualBox:~/mypro$ echo $salutation
    hello world
    zhangxin@zhangxin-VirtualBox:~/mypro$ salutation=7+5
    zhangxin@zhangxin-VirtualBox:~/mypro$ echo $salutation
    7+5

    使用read命令将用户的输入赋值给一个变量。

    zhangxin@zhangxin-VirtualBox:~/mypro$ read salutation 
    ni hao , xiao ming
    zhangxin@zhangxin-VirtualBox:~/mypro$ echo $salutation
    ni hao , xiao ming

    与PHP语法类似,把带有$字符的变量放在双引号中,程序执行到这一行时会把变量替换为它的值;

    如果把它放在单引号中,就不会发生替换现象。

    在$字符前面加上一个字符,会取消它的特殊含义。

    #!/bin/sh
    
    myvar="Hi there"
    
    echo $myvar
    echo "$myvar"
    echo '$myvar'
    echo $myvar
    
    echo Enter some text
    read myvar
    
    echo '$myvar' now equals $myvar
    exit 0
    ~        

    执行这个脚本:

    zhangxin@zhangxin-VirtualBox:~/mypro$ ./myvar.sh 
    Hi there
    Hi there
    $myvar
    $myvar
    Enter some text
    good bye 
    $myvar now equals good bye
  • 相关阅读:
    冒泡排序的java实现
    linux磁盘挂载
    Spring第九篇:primary指定bean为首选对象
    Spring第八篇:容器中bean对象的创建顺序
    Spring第六篇:依赖的手动注入
    Spring第五篇:Spring bean的作用域
    Spring第四篇:bean实例的创建方式
    SpringBoot 整合 kaptcha 验证码
    Java 创建线程池的方式
    MySQL IF() 函数用法
  • 原文地址:https://www.cnblogs.com/sdlypyzq/p/4738560.html
Copyright © 2020-2023  润新知