shell中$?,$*等特殊变量的解释和使用

我们在写shell中会经常遇到使用变量的情况。在这里我说几个常用的特殊变量

$? 执行上一个指令的返回值 (显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误)
$0 这个程式的执行名字


$n 这个程式的第n个参数值
$* 这个程式的所有参数,此选项参数可超过9个。
$@ 跟$*类似,但是可以当作数组用

$# 这个程式的参数个数
$$ 这个程式的PID(脚本运行的当前进程ID号)
以下不太常用

$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)

$- 显示shell使用的当前选项,与set命令功能相同

代码展示
#!/bin/bash
cd ./ && ls -al
echo '上一个命令执行结果: '$?
echo '文件名:'$0
echo '脚本pid:'$$
echo '第一个参数:'$1
echo '所有参数:'$*
echo '所有参数(数组):'$@
echo '参数个数(数组):'$@

结果展示

最常用的是$? 可以用来判断上一个命令执行是否成功 0标识成功。其他标识异常

猜你喜欢

转载自blog.csdn.net/qq_36492368/article/details/79391938