Shell Variable

Shell 变量

Shell中有不少内置的变量,使用好他们可以使得我们的shell编程更加快捷,可读性也更好

  1. $1, $2, ... $9

    1到9分别表示调用shell的时候传递的变量。

    cat var4.sh
    #!/bin/sh
    echo $1 $2 $3
    
    $ ./var5.sh 1 2 3
    1
    2
    3
    

    ``

  2. $0

    当前运行脚本的名字,具体取决于调用脚本的时候所使用的方式

    $ cat var5.sh 
    #!/bin/sh
    echo $0
       
    $ ./var5.sh 	
    ./var5.sh
       
    $ /bin/sh var5.sh 
    var5.sh
    

    ``

  3. $#

    向脚本内传递的变量个数

    $ cat var6.sh
    #!/bin/sh
    echo $#
    
    $ ./var6.sh 
    0
    
    $ ./var6.sh 1 2 3
    3
    

    ``

  4. $@, $*

    向脚本内传递的所有具体变量

    $ cat var7.sh 
    #!/bin/sh
    echo $@
    echo $*
    
    $ ./var7.sh 1 2 3
    1 2 3
    1 2 3
    

    ``

  5. $?

    上一条命令的退出码(exit code),一般正常指定退出的时候都为0,所以可以判断这个变量来判断上一条命令有没有执行成功

    $ cat var8.sh 
    #!/bin/sh
    cat ./3333  #cat一个不存在的文件
    EXIT_CODE=$?
    if [ $EXIT_CODE -ne 0 ]; then
      echo "cat failed, exit code is $EXIT_CODE ."
    fi
    
    $ ./var8.sh 
    cat: ./3333: No such file or directory
    cat failed, exit code is 1 .
    

    ``

  6. $$

    表示当前脚本的pid。

  7. $!

    上一个后台运行的程序的pid,一般用于长期运行于后台的任务的pid的保存,方便以后管理。

Shell Scripting Tutorial - part2: Variable

Written with StackEdit.


2018-07-10 17:29 +0800