如何解决'第131行的语法错误:``'不匹配。错误

时间:2011-11-11 03:49:50

标签: shell ksh

我是剧本写作的新手。我遇到了标题中提到的'第131行的语法错误:``'不匹配。 。第131行的代码已注释掉。我认为下面这一行可能会导致问题。任何人都可以指导我如何编写下面的代码?我需要输出scp和ssh命令的值来确定代码是否成功执行。

scpstat=`echo scp $INPUTDIR/work_dir/$f $EUSER@$ESCSYS:$EDIR/build/. |
ssh $EUSER@$ECSYS "chmod 660 $EDIR/build/$f;chgrp 107 $EDIR/build/$f;chown 103 $ESCDIR/build/$f;rename $ESCDIR/build/$f $ESCDIR/work/$f"'
  status=$?

3 个答案:

答案 0 :(得分:2)

在我看来,echo之前的`(反引号)不匹配,正如错误所暗示的那样。看起来第二行末尾的'(撇号)应该是反引号。

有些人认为使用$(...)而不是“......”是更好的风格,这肯定是原因的一个很好的例子。

答案 1 :(得分:0)

嗯,首先你有一个开头`,而你没有结束。 :)

答案 2 :(得分:0)

通常很难达到脚本错误中提到的行号。这是因为如果在脚本中包含另一个脚本(通过在 ksh 中指定 .scriptname 来完成),则原始脚本的实际长度会在运行时更改。如果包含的脚本中存在错误,则行号可能会产生误导,因为您无法访问这些行。我觉得在你的情况下,错误是在被调用的脚本中,而不是你正在研究的那个。检查您是否正在调用/包含任何其他脚本并尝试单独运行它。通过这种方式,您可以找出问题所在。