通过命令退出代码打印不同的消息

时间:2012-12-22 09:47:03

标签: bash exit-code

所以我在.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上运行。

2 个答案:

答案 0 :(得分:3)

您需要在方括号周围的if行添加其他空格。将您的代码更改为:

if [ $? -eq 0 ]

这是必需的原因是[是一个命令本身(* {n}上test的同义词),你需要执行[命令而不是(不存在) )[$?命令。

答案 1 :(得分: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