shell特殊变量
2015-05-20 17:18
239 查看
接下来看一些特殊变量
$? :接收上一条命令的返回状态码,这样的话可以知道上一条命令是否执行成功,
如果上一条命令执行成功的话,这个返回状态码就是0,如果上一条命令执行失败的话,返回值是1-255之间的某个值,也就是说,成功的返回值只有一个,失败的返回值是各种各样的。
执行ls 命令 再执行echo $? 状态码为0
执行lkkk命令,再执行echo $? 状态码为127
$#:参数个数
一般我们在执行一些脚本的时候,如果后面指定的参数数量不够,那么脚本就会给一个提示,说参数个数不够,那它是怎么判断的呢。就是使用$#来判断的。
例如
写一个test.sh脚本,里面写下面代码
echo $#
这样在调用test.sh脚本的时候如果后面不传递参数,则返回值为0,如果指定几个参数,则返回值就是几。
$* $@ :获取脚本后面指定的所有参数
这两个命令都可以获取指定脚本后面的所有参数,在这里,先认为这两个命令的执行结果一致,具体有什么不同,下面具体用到的时候会分析。
写一个test.sh脚本
echo $*
echo $@
这样在执行test.sh脚本的时候,在后面指定参数,test.sha b c 这样的话就会打印两次 a b c 参数,说明刚才那两个命令的执行结果是一致的。
$$:获取当前shell的进程号,
这个东西有什么用呢,这个可以用来实现shell进程自杀。
在shell脚本中使用kill命令,后面跟上这个命令就可以实现进程自杀。
例如:
echo $$
echo "start"
kill $$
sleep 900000000
echo "end"
或者使用exit也可以退出shell脚本
例如,把上面的kill $$ 替换成exit [num](num表示退出状态码,可以指定或者不指定,不指定默认是0)
更多精彩内容请关注:http://bbs.superwu.cn
关注超人学院微信二维码:
$? :接收上一条命令的返回状态码,这样的话可以知道上一条命令是否执行成功,
如果上一条命令执行成功的话,这个返回状态码就是0,如果上一条命令执行失败的话,返回值是1-255之间的某个值,也就是说,成功的返回值只有一个,失败的返回值是各种各样的。
执行ls 命令 再执行echo $? 状态码为0
执行lkkk命令,再执行echo $? 状态码为127
$#:参数个数
一般我们在执行一些脚本的时候,如果后面指定的参数数量不够,那么脚本就会给一个提示,说参数个数不够,那它是怎么判断的呢。就是使用$#来判断的。
例如
写一个test.sh脚本,里面写下面代码
echo $#
这样在调用test.sh脚本的时候如果后面不传递参数,则返回值为0,如果指定几个参数,则返回值就是几。
$* $@ :获取脚本后面指定的所有参数
这两个命令都可以获取指定脚本后面的所有参数,在这里,先认为这两个命令的执行结果一致,具体有什么不同,下面具体用到的时候会分析。
写一个test.sh脚本
echo $*
echo $@
这样在执行test.sh脚本的时候,在后面指定参数,test.sha b c 这样的话就会打印两次 a b c 参数,说明刚才那两个命令的执行结果是一致的。
$$:获取当前shell的进程号,
这个东西有什么用呢,这个可以用来实现shell进程自杀。
在shell脚本中使用kill命令,后面跟上这个命令就可以实现进程自杀。
例如:
echo $$
echo "start"
kill $$
sleep 900000000
echo "end"
或者使用exit也可以退出shell脚本
例如,把上面的kill $$ 替换成exit [num](num表示退出状态码,可以指定或者不指定,不指定默认是0)
更多精彩内容请关注:http://bbs.superwu.cn
关注超人学院微信二维码:
相关文章推荐
- Shell特殊变量的含义
- Shell教程3-Shell特殊变量
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell全局变量、局部变量与特殊变量笔记总结
- shell特殊变量\shell函数特殊变量
- shell中特殊变量和结构
- Shell环境变量与特殊变量详解
- shell特殊变量
- shell的一些特殊变量
- Shell学习笔记---特殊变量
- SHELL中特殊的变量
- shell特殊变量
- [shell]Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell变量名使用的特殊字符
- shell中的一些特殊变量 [转]
- shell中的特殊变量IFS
- shell 中的特殊变量
- Shell特殊变量
- Shell 学习7 - Shell 特殊变量
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数