📅  最后修改于: 2023-12-03 15:39:38.970000             🧑  作者: Mango
在Shell-Bash编程中,有时候需要知道上一个命令的退出代码(也称为返回值),以便在脚本中根据返回值的不同采取不同的处理。
有一个专门用于显示上一个命令的退出代码的命令,那就是$?
,它会返回上一个命令的退出代码。该命令在终端中输入即可显示上一个命令的退出代码:
$ echo "Hello, world!"
Hello, world!
$ echo $?
0
在这个例子中,上一个命令是echo "Hello, world!"
,它成功执行,并返回退出代码0。我们可以通过$?
命令得到这个退出代码,它是0。
当上一个命令因某种原因而失败时,它通常会返回一个非零的退出代码,这通常是一个正整数。在这种情况下,要么在脚本中处理该错误,要么在终端中查看返回代码以了解发生了什么错误。
下面是一个例子,用于说明如何通过$?
命令获取上一个命令的退出代码,以便在脚本中针对不同的退出代码采取不同的操作:
#!/bin/bash
# 模拟一个会返回不同退出代码的命令
some_command
status=$?
if [ $status -eq 0 ]; then
echo "命令成功执行"
else
echo "命令执行失败。退出代码:$status"
fi
在这个脚本中,我们模拟一个会返回不同退出代码的命令,然后通过$?
命令获取该命令的退出代码,并根据退出代码不同采取不同的操作。
总结
在Shell-Bash编程中,$?
命令用于显示上一个命令的退出代码。通过获取上一个命令的退出代码,我们可以在脚本中针对不同的退出代码采取不同的操作,从而更好地管理我们的脚本。