Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
第354行的语法错误:`=~';hp unix中出现意外情况_Unix_Ksh_Hp Ux - Fatal编程技术网

第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)。