第354行的语法错误:`=~';hp unix中出现意外情况
我的代码有点像-第354行的语法错误:`=~';hp unix中出现意外情况,unix,ksh,hp-ux,Unix,Ksh,Hp Ux,我的代码有点像- if [[ ! $FIRST=~ ^/ ]] then FIRST="${SECOND}/${FIRST}" fi 在HP UNIX中运行脚本时,我发现以下错误- 第354行出现语法错误:`=~'意外。 它在linux中似乎工作得很好。 有人对此有什么解决方案吗?正如评论所示,HP-UX上的ksh可能已经很旧了,因此没有=~操作符 但是,您只是检查该值是否以斜杠开头,因此请使用全局样式的模式匹配: if [[ $FIRST != /* ]]; then
if [[ ! $FIRST=~ ^/ ]] then
FIRST="${SECOND}/${FIRST}"
fi
在HP UNIX中运行脚本时,我发现以下错误-
第354行出现语法错误:`=~'意外。
它在linux中似乎工作得很好。
有人对此有什么解决方案吗?正如评论所示,HP-UX上的ksh可能已经很旧了,因此没有
=~
操作符
但是,您只是检查该值是否以斜杠开头,因此请使用全局样式的模式匹配:
if [[ $FIRST != /* ]]; then FIRST="$SECOND/$FIRST"; fi
如果不起作用,请使用case
:
case "$FIRST" in
/*) : ;;
*) FIRST="$SECOND/$FIRST" ;;
esac
也许您需要在
=
之前留一个空格?你也在Linux上使用ksh吗?在我看来,这就像是一个只有Bash的构造。HP-UX系统上有可用的Bash吗?脚本的shebang行上有什么?ksh中没有=~
(HP-UX不是Linux)。