shell - 为什么 shell 中 0 为 true,1 为 false?

标签 shell boolean

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/

相关文章:

macos - 如何启动 AppleScript 应用程序并从另一个 AppleScript 运行 shell 脚本?

javascript - 如何从网络客户端操作 OpenWRT 路由器上的 MySQL DB

linux - 在VI编辑器中如何在打开的文件中定义变量以通过gf打开其他文件

c++ - 当类型转换为 int 时,C/C++ bool 类型是否总是保证为 0 或 1?

excel - 简单的 boolean 值和表达式

shell - macvim shell (:sh) only displays character codes/escape sequences

linux - 查找名称中数字小于 1950 的文件名

Android:点击的 boolean 值和 button.isPressed() 之间有什么区别?

c# - 为什么许多 WPF 类将 boolean 值存储为枚举标志?

python - 在 python 中,是否有某种映射来返回类型的 "False value"?