false; echo $?
上面将输出1
,这与我所知道的所有其他编程语言相矛盾。
这有什么原因吗?
最佳答案
Bash 是一种编程(脚本)语言,但它也是一个 shell 和一个用户界面。如果0
是错误,那么程序只能出现一种错误。
但是在 Bash 中,任何非零值都是错误,我们可以使用 1-255 之间的任何数字来表示错误。这意味着我们可能会遇到许多不同类型的错误。 1
是一般错误,126
表示文件无法执行,127
表示“找不到命令”等。以下是 bash Exit Codes With Special Meanings显示一些最常见的退出代码。
成功也有很多种(退出状态为0
)。但是,成功将允许您继续下一步 - 您可以将结果打印到屏幕上,或执行命令等。
关于shell - 为什么 shell 中 0 为 true,1 为 false?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2933843/