第354行的语法错误:`=〜'在hp unix中出乎意料

时间:2014-12-09 06:23:13

标签: unix ksh hp-ux

我的代码有点像 -

if [[ ! $FIRST=~ ^/ ]] then
            FIRST="${SECOND}/${FIRST}"
fi

我在HP UNIX中运行脚本时遇到错误 - 第354行的语法错误:`=〜'意外。 它似乎在Linux中运行良好。 有人有任何解决方案吗?

1 个答案:

答案 0 :(得分:0)

正如评论所示,HP-UX上的ksh可能很旧,因此没有=~运算符。

但是,您只是检查值是否以斜杠开头,因此请使用glob样式模式匹配:

if [[ $FIRST != /* ]]; then FIRST="$SECOND/$FIRST"; fi

如果 不起作用,请使用case

case "$FIRST" in
    /*) : ;;
    *)  FIRST="$SECOND/$FIRST" ;;
esac