代码之家  ›  专栏  ›  技术社区  ›  DDS

从右向左重击连锁字符串

  •  0
  • DDS  · 技术社区  · 7 年前

    我正在调试这个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 回复  |  直到 7 年前
        1
  •  2
  •   Jon    7 年前

    这个问题几乎肯定与行尾有关。我强烈怀疑Catalina_Home正在使用回车符,因为它是用Windows行尾保存的。

    尝试运行脚本 dos2unix 剥去回车。

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

    推荐文章