练习 10:Bash:程序退出代码(返回状态)
让我们假设你要复制一个目录。你可以通过键入来执行此操作。发出此命令后,你可能想知道如何进行。目录是否被复制?还是出现了一些错误,因为目标目录空间不足,或其他出现错误的东西?
为了理解它是如何工作的,你必须了解两个程序如何通信。我们先这样说,bash 只是另一个程序,所以一般来说,当你发出上述的cp
命令时,一个程序(bash,它是父进程)调用了另一个程序(cp
,它是子进程)。
让我再次重复一下我现在所说的话:
现在你学到了如何打印出你的程序的退出状态。
- 打印出一个目录,成功。
- 尝试打印出不存在的目录,当然失败。
- 打印
ls /no/such/dir
的退出代码,它确实是非零。