Bash:如何在`if [ ...`(别名“test”)中转义减号?

Bash:如何在`if [ ...`(别名“test”)中转义减号?

我需要测试一下:

kill -0 $LAST_PID;

所以我写了

if [ kill -0 $LAST_PID ] ; then ...

但这会导致错误——unknown operator after -或者类似的结果。

我如何逃避其中的选项if

答案1

这并不是if说你想逃避它,而是test/ [。但你并不是在测试kill这种方式的执行情况;而是在测试这种方式的执行情况。你正在测试字符串。你要:

if kill -0 "$LAST_PID"; then ...

将测试kill的返回码。

相关内容