在 Mac OS 上执行 bash 脚本时未找到错误

在 Mac OS 上执行 bash 脚本时未找到错误

我正在尝试使用源中提供的脚本从源代码构建 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 样式,然后保存文件。效果很好。希望这对其他人也有帮助。

相关内容