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 上运行。

4

2 回答 2

3

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

if [ $? -eq 0 ]

这是必需的原因是[命令本身(*nix for 的同义词test),您需要执行[命令而不是(不存在的)[$?命令。

于 2012-12-22T09:57:50.227 回答
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
于 2012-12-22T10:01:09.637 回答