我在 CentOS 6.5 的 init.d 脚本中看到了很多奇怪的怪癖,但我在大多数这些脚本的末尾看到的一种模式是
case "$1" in
# ... commands here
esac
exit $?
“”在这里的目的是什么exit $?
?
它使脚本将最后一个有效命令的返回码返回给调用 init 系统。每当一个命令退出时,它的返回码都会$?
被 shell 存储起来。
实际上并没有必要明确指定$?
,但脚本编写者可能只是将其包含在内以明确其打算做什么。
退出:退出 [n]
退出外壳。
以状态 N 退出 shell。如果省略 N,则退出状态是最后执行的命令的状态。
我也希望你不是真的意思eend $?
:OpenRC
eend retval [字符串]
如果 retval 不等于 0,则使用 eerror 和 !! 输出字符串 在行尾的方>括号中。否则在行尾的方括号中输出 ok。返回 retval 的值。
见源。