![在 Mac OS 上执行 bash 脚本时未找到错误](https://linux22.com/image/1409223/%E5%9C%A8%20Mac%20OS%20%E4%B8%8A%E6%89%A7%E8%A1%8C%20bash%20%E8%84%9A%E6%9C%AC%E6%97%B6%E6%9C%AA%E6%89%BE%E5%88%B0%E9%94%99%E8%AF%AF.png)
我正在尝试使用源中提供的脚本从源代码构建 jDom-b4(一个 Java 库)。
脚本内容如下build.sh
:
#!/bin/sh
echo
echo "Java and XML Build System"
echo "-------------------"
echo
if [ "$JAVA_HOME" = "" ] ; then
echo "ERROR: JAVA_HOME not found in your environment."
echo
echo "Please, set the JAVA_HOME variable in your environment to match the"
echo "location of the Java Virtual Machine you want to use."
exit 1
fi
LOCALCLASSPATH=$JAVA_HOME/lib/tools.jar:./lib/xerces.jar:./lib/ant.jar:$JAVA_HOME/lib/dev.jar
ANT_HOME=./lib
echo Building with classpath $CLASSPATH:$LOCALCLASSPATH
echo
echo Starting Ant...
echo
$JAVA_HOME/bin/java -Dant.home=$ANT_HOME -classpath $LOCALCLASSPATH:$CLASSPATH org.apache.tools.ant.Main $*
我运行它sh ./build.sh
然后收到此错误消息:
: command not found
: command not found echo
Java and XML Build System
-------------------
: command not found echo
: command not found
./build.sh: line 26: syntax error: unexpected end of file
我不明白错误消息是什么意思。我发现该消息: command not found
令人费解:未找到什么命令?回显?
答案1
好的,问题是该脚本是在 Windows 上编写的,因此需要转换换行符。在我的 Vim 中,我曾经将:set ff=unix
换行符转换为 unix 样式,然后保存文件。效果很好。希望这对其他人也有帮助。