Shell Variable
Shell 变量
Shell中有不少内置的变量,使用好他们可以使得我们的shell编程更加快捷,可读性也更好
-
$1, $2, ... $9
1到9分别表示调用shell的时候传递的变量。
cat var4.sh #!/bin/sh echo $1 $2 $3 $ ./var5.sh 1 2 3 1 2 3
``
-
$0
当前运行脚本的名字,具体取决于调用脚本的时候所使用的方式
$ cat var5.sh #!/bin/sh echo $0 $ ./var5.sh ./var5.sh $ /bin/sh var5.sh var5.sh
``
-
$#
向脚本内传递的变量个数
$ cat var6.sh #!/bin/sh echo $# $ ./var6.sh 0 $ ./var6.sh 1 2 3 3
``
-
$@, $*
向脚本内传递的所有具体变量
$ cat var7.sh #!/bin/sh echo $@ echo $* $ ./var7.sh 1 2 3 1 2 3 1 2 3
``
-
$?
上一条命令的退出码(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 .
``
-
$$
表示当前脚本的pid。
-
$!
上一个后台运行的程序的pid,一般用于长期运行于后台的任务的pid的保存,方便以后管理。
Written with StackEdit.