0

我正在调试这个 catalina.sh 脚本,此时:

echo "$CATALINA_HOME"
  echo "dot " .
  echo "179"
  if [ -r "$CATALINA_HOME"/bin/setclasspath.sh ]; then
    echo "qui 81"

    . "$CATALINA_HOME"/bin/setclasspath.sh
  else
    echo "185"
    echo "Cannot find $CATALINA_HOME/bin/setclasspath.sh"
    echo "This file is needed to run this program"
    exit 1
  fi

输出是:

 /home/sysadm/2_KNOWAGE/Knowage_6-2_ARES/Knowage-Server-CE 
 dot  . 
 179
 185
 /bin/setclasspath.shsadm/2_KNOWAGE/Knowage_6-2_ARES/Knowage-Server-CE
 This file is needed to run this program

当实际 setclasspath.sh exixts 时,具有写入权限并且是它应该在的位置。所以我希望它会被发现并运行。

4

1 回答 1

2

这个问题几乎肯定与行尾有关。我强烈怀疑 CATALINA_HOME 正在拾取回车符,因为它已与 Windows 行结尾一起保存。

尝试运行脚本dos2unix以去除回车符。

您可能还想检查您的编辑器是否设置为使用 Unix 行尾而不是 Windows 行尾。

于 2018-07-09T13:10:40.797 回答