bash从右到左连接字符串

时间:2018-07-09 12:41:19

标签: bash tomcat catalina fiware-knowage

目前,我正在调试此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实际上存在时,具有写权限,并且应该在该位置。因此,我希望它会被找到并运行。

1 个答案:

答案 0 :(得分:2)

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

尝试通过dos2unix运行脚本以剥离回车符。

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