Как решить 'Синтаксическая ошибка в строке 131: ``' не соответствует. ' ошибка - PullRequest
0 голосов
/ 11 ноября 2011

Я новичок в написании сценариев.Я встречал упомянутое в заголовке, то есть «Синтаксическая ошибка в строке 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 ]

2 голосов
/ 11 ноября 2011

Мне кажется, что `(backtick) перед echo не совпадает, как предполагает ошибка. Похоже, что '(апостроф) в конце второй строки должен быть обратным ударом.

Некоторые люди думают, что лучше использовать $(...) вместо `...`, и это, безусловно, хороший пример того, почему.

0 голосов
/ 11 ноября 2011

Часто трудно найти номера строк, упомянутые в ошибках скрипта.Это потому, что если вы включите другой скрипт в свой скрипт (это делается указанием . Scriptname в ksh ), тогда фактическая длина исходного скрипта изменится во время выполнения.Если во включенном скрипте есть ошибки, номера строк могут вводить в заблуждение, потому что вы не можете добраться до этих строк.Я чувствую, что ошибка, в вашем случае, заключается в вызываемом скрипте, а не в том, который вы просматриваете.Проверьте, звоните ли вы / включая любой другой скрипт, и попробуйте запустить его отдельно.Таким образом, вы, вероятно, можете изолировать проблему.

0 голосов
/ 11 ноября 2011

Ну, для начала у вас есть открытие `, а у вас нет закрытия.:)

...