我是剧本写作的新手。我遇到了标题中提到的'第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=$?
答案 0 :(得分:2)
在我看来,echo
之前的`(反引号)不匹配,正如错误所暗示的那样。看起来第二行末尾的'(撇号)应该是反引号。
有些人认为使用$(...)
而不是“......”是更好的风格,这肯定是原因的一个很好的例子。
答案 1 :(得分:0)
嗯,首先你有一个开头`,而你没有结束。 :)
答案 2 :(得分:0)
通常很难达到脚本错误中提到的行号。这是因为如果在脚本中包含另一个脚本(通过在 ksh 中指定 .scriptname 来完成),则原始脚本的实际长度会在运行时更改。如果包含的脚本中存在错误,则行号可能会产生误导,因为您无法访问这些行。我觉得在你的情况下,错误是在被调用的脚本中,而不是你正在研究的那个。检查您是否正在调用/包含任何其他脚本并尝试单独运行它。通过这种方式,您可以找出问题所在。