15

我遇到了一个 shell 脚本,其中包含如下语句,

if [ $val -eq $? ]

这里是什么$?意思?

4

6 回答 6

23

我发现该链接非常有用,并且是很好的答案。它包括用样本清楚地表达。

在此处输入图像描述

于 2014-11-11T13:59:17.407 回答
22
$?

返回最后完成的命令的状态。状态 0 告诉您一切正常。

此外,$符号是一个特殊符号 - 在这种情况下,$val提取变量持有的值val

于 2012-10-05T07:43:10.267 回答
17

$#= 参数数量。答案是3

$@= 传递了什么参数。答案是1 2 3

$?= 最后一个命令成功。答案是0“是”。

于 2013-06-09T14:59:54.410 回答
3

$ 是什么意思?是这里的意思吗?

美元?是退出状态的最后结果... 0 默认为“成功”

bash# ls *.*
bash# echo $? 
bash# 0
bash# ls /tmp/not/existing/
bash# echo $?
bash# 2
于 2012-10-05T07:43:50.870 回答
2

这是上一个命令的退出状态的值。这是0在成功的情况下。

于 2012-10-05T07:42:08.063 回答
-1

ls *.*ls会产生相同的结果。意思是在当前目录中显示零个或多个具有任何扩展名的文件。

echo $?将显示退出状态。如果最后一个命令至少显示一个文件,则退出状态为零(成功)。

于 2016-03-14T11:10:20.937 回答