考虑以下设置:
systemctl is-active --quiet $SERVICE_NAME
STATUS=$?
在任何情况下都可能发生这种情况,$STATUS
即未设置或为空?也就是说,因为systemctl
不返回任何空变量?
答案1
进程不返回环境变量,也不返回字符串——它们总是返回一个整数。更多地考虑一下像 waitpid() 这样的 C 函数,它有一个固定的返回类型。
没有办法不是返回它(如果你不这样做,那么堆栈中的一些垃圾值将被返回,但它将要无论如何都会被返回),并且 int 不存在“空”这种东西(那只会是零)。
所以这意味着 shell 总是能够输入一个数字$?
。