启动停止守护进程总是 returns 成功
start-stop-daemon alway returns success
我在 BASH 脚本中有以下代码:
start-stop-daemon --start --quiet --background \
--startas /bin/bash -- -c "$CMD; exec echo $?> $FILE"
其中 CMD
是一些命令字符串,FILE
是输出文件位置。但出于某种原因,FILE
中的输出始终为 0,即使它应该给出不同的数字(1 表示错误等)。
这是为什么,我该如何解决?
执行回显 $?如果您的最后一个命令 运行 成功,这将打印 0。这就是它在文件中打印 0 的原因。你想达到什么目的。
您的 $?
在当前 shell 以及 $CMD
和 $FILE
的上下文中得到扩展。
要解决此问题,您必须像 $?
一样转义它,即
... /bin/bash -c "$CMD; exec echo $? >$FILE"
我在 BASH 脚本中有以下代码:
start-stop-daemon --start --quiet --background \
--startas /bin/bash -- -c "$CMD; exec echo $?> $FILE"
其中 CMD
是一些命令字符串,FILE
是输出文件位置。但出于某种原因,FILE
中的输出始终为 0,即使它应该给出不同的数字(1 表示错误等)。
这是为什么,我该如何解决?
执行回显 $?如果您的最后一个命令 运行 成功,这将打印 0。这就是它在文件中打印 0 的原因。你想达到什么目的。
您的 $?
在当前 shell 以及 $CMD
和 $FILE
的上下文中得到扩展。
要解决此问题,您必须像 $?
一样转义它,即
... /bin/bash -c "$CMD; exec echo $? >$FILE"