我有一個Makefile這樣的:如何在makefile中獲取bash命令的退出狀態?
k:
status=$(shell ./x.sh;echo $?)
ifeq ($(status),0)
echo success
else
echo failure
exit 1
endif
x.sh
是簡單的腳本,打印數字1到10。
所以,當我運行make:
[email protected]:$make k
status=1 2 3 4 5 6 7 8 9 10
/bin/sh: 1: 2: not found
Makefile:2: recipe for target 'k' failed
make: *** [k] Error 127
在這裏,我得到的輸出腳本而不是$?
。而當我在ifeq
status
中比較值爲空。
我該如何獲得這項工作?另外我該如何使用.ONESHELL指令?如果出現問題,我是否可以退出製作而不是執行以下指令:exit 1
?