从命令获取数字返回值

时间:2013-11-17 19:08:39

标签: bash

在bash shell中,如果命令成功,则返回0,如果不成功则返回另一个数字。如何获得退回的号码?

例如,我想要从ls命令返回的返回码编号

我试试:

echo $ls
echo $(ls)
echo $(?ls)

但是没有人能给我我想要的东西。有什么提示吗?

2 个答案:

答案 0 :(得分:4)

运行命令后,$?变量将包含命令的退出代码。

# This prints 0..
ls; echo $?

# .. and this prints 1
(exit 1); echo $?

答案 1 :(得分:2)

特殊变量$?包含上一个命令的返回状态。

例如:

ls
echo $?
false
echo $?

请注意,如果在检查$?之前运行另一个命令,则其值将是新命令的值:

false
echo $? # prints the return status of false
echo $? # now prints the return status of the previous echo

因此,如果您希望多次使用该状态,请将其保存到变量(例如err=$?)。