【Linux】Linux脚本中($0、$?、$*、$@、$#、$$、$!)这些符号的含义及用法
·
1. 功能说明
$0:就是该bash文件名,个位数的,可直接使用数字,但两位数以上,则必须使用 {} 符号来括住,如${10}.
$?:是上一指令的返回值,成功是0,不成功是1。一般来说,UNIX(linux) 系统的进程以执行系统调用exit() 来结束的。这个回传值就是status值。回传给父进程,用来检查子进程的执行状态。一般指令程序倘若执行成功,其回传值为 0;失败为 1。
$*:所有脚本参数的内容:就是调用调用本bash shell的参数。
$@:基本上与上面相同。只不过是“$*”返回的是一个字符串,字符串中存在多外空格。 “$@”返回多个字符串。
$#:返回所有脚本参数的个数。
$$ :Shell本身的PID(ProcessID),即当前进程的PID。
$! :Shell最后运行的后台Process的PID
$- :使用Set命令设定的Flag一览
2. 代码示例
- 文件名
test
#!/bin/sh
echo "number:$#"
echo "scname:$0"
echo "first :$1"
echo "second:$2"
echo "argume:$@"
- 运行结果
number:2 //$# 是传给脚本的参数个数
scname:./test //$0 是脚本本身的名字
first: aa //$1是传递给该shell脚本的第一个参数
second:bb //$2是传递给该shell脚本的第二个参数
argume:aa bb //$@ 是传给脚本的所有参数的列表
更多推荐
已为社区贡献7条内容
所有评论(0)