2012-12-22 69 views
2

所以我有這個在我的sh文件:打印由命令退出代碼不同的消息

#!/bin/bash 

echo "Building Space Cubes X for Mac...." 
make OS=APPLE -k 

if [$? -eq 0] 
then 
    echo "Build completed." 
    echo "You can find the build under (THIS_FOLDER)/bin/build." 
else 
    echo "Build failed! Check above for error messages!" 
fi 

的問題是,Bash打印這個消息我甚至不明白:

./build-mac.sh: line 7: [0: command not found 

任何幫助或建議表示讚賞!

我用Bash在Mac上運行。

回答

3

您需要在方括號內的if行上添加更多空格。你的代碼更改爲:

if [ $? -eq 0 ] 

這是必需的原因是[是命令本身(在* nix的test的同義詞),你需要執行[命令沒有(不存在)[$?命令。

+0

哇!這工作完美! :\ –

2

還不如不使用$?都:

#!/bin/bash 

echo "Building Space Cubes X for Mac...." 

if make OS=APPLE -k ; then 
    echo "Build completed." 
    echo "You can find the build under (THIS_FOLDER)/bin/build." 
else 
    echo "Build failed! Check above for error messages!" 
fi 
+0

也是好主意;) –