我有一个Makefile,它运行一个成功返回非零值的程序,并在失败时返回另一个非零值.我知道我可以通过在命令前加上 - 来忽略退出状态,但这不起作用,因为我需要知道命令是否成功.
Did*_*set 16
您可以使用$?
包含最后返回值的shell 变量,在同一Makefile行上的第二个命令上测试返回值.
例如,使用false
显然会停止编译的命令:
test:
/bin/false ; /usr/bin/test "$$?" -eq 1 # <-- make does not stop here
/bin/echo "Continues ..."
/bin/false # <-- make stops here
Run Code Online (Sandbox Code Playgroud)
使用
command || [ $$? -eq v ]
Run Code Online (Sandbox Code Playgroud)
作为您的命令,使用命令替换命令,并使用成功返回的值替换v.
(这只是Didier Trosset答案的更紧凑版本.)
归档时间: |
|
查看次数: |
12505 次 |
最近记录: |