在我的shell中:
<TextBlock>
<Run Text="Hello World"></Run>
<Underline>
<Run Text="Hello World"></Run>
</Underline>
<Bold>
<Run Text="Hello World"></Run>
</Bold>
</TextBlock>
为什么 mycommand 返回1但是echo&#34; mycommand有0退出代码&#34;?
我将代码更改为:
if ! mycommand;then
echo "mycommand has 0 exit code"
else
echo "mycommand has non-zero exit code"
fi
当 mycommand 返回1时,echo&#34; mycommand具有非零退出代码&#34;正如我所料
答案 0 :(得分:0)
仅当测试条件返回0时才会执行if
- 块,这意味着成功。非零值将被视为错误,else
- 块将被执行。
if something; then
echo "Command succeeded (exit code 0)"
else
echo "Command failed (exit code $?)"
fi
因此,请删除第一个代码块中的!
,然后您将获得所需的行为。
答案 1 :(得分:0)
在bash中0表示true,任何更高表示false。因此,当! mycommand
为假时,否定mycommand
变为真。
答案 2 :(得分:0)
在shell中如果执行的命令是正确的,则返回0存储在$?中。如果我们执行错误的命令,它将返回非零(1-255)值,该值也存储在$?中。
Exit Value Exit Status
0 (Zero) Success
Non-zero Failure
1 False
2 Incorrect usage
127 Command Not found
126 Not an executable