📜  我应该使用哪个命令来显示上一个命令的退出代码? - Shell-Bash (1)

📅  最后修改于: 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编程中,$?命令用于显示上一个命令的退出代码。通过获取上一个命令的退出代码,我们可以在脚本中针对不同的退出代码采取不同的操作,从而更好地管理我们的脚本。