我遇到了一个 shell 脚本,其中包含如下语句,
if [ $val -eq $? ]
这里是什么$?
意思?
我发现该链接非常有用,并且是很好的答案。它包括用样本清楚地表达。
$?
返回最后完成的命令的状态。状态 0 告诉您一切正常。
此外,$
符号是一个特殊符号 - 在这种情况下,$val
提取变量持有的值val
$#
= 参数数量。答案是3
。
$@
= 传递了什么参数。答案是1 2 3
。
$?
= 最后一个命令成功。答案是0
“是”。
$ 是什么意思?是这里的意思吗?
美元?是退出状态的最后结果... 0 默认为“成功”
bash# ls *.*
bash# echo $?
bash# 0
bash# ls /tmp/not/existing/
bash# echo $?
bash# 2
这是上一个命令的退出状态的值。这是0
在成功的情况下。
ls *.*
或ls
会产生相同的结果。意思是在当前目录中显示零个或多个具有任何扩展名的文件。
echo $?
将显示退出状态。如果最后一个命令至少显示一个文件,则退出状态为零(成功)。