синтаксическая ошибка: ожидается операнд (токен ошибки - )

Может ли кто-нибудь указать, что не так с приведенной ниже строкой из сценария bash, который я использую?

if [ "$(( $(date +"%s")-$(stat -c "%Y" $SENDDIR/$NIGHTLY_FILE) ))" -gt "3600" ]; then

Я получаю сообщение об ошибке, указанное в строке темы.

Я скопировал скрипт с одного сервера на другой, думая, что он должен работать, но, увы, нет.


person PeteJ    schedule 09.12.2013    source источник
comment
оберните эту строку set -vx вверху и set +vx внизу, чтобы вы могли видеть, как расширяются переменные. Тогда должно быть очень легко увидеть, где проблема с вашими математическими значениями. Удачи.   -  person shellter    schedule 09.12.2013
comment
Привет @shellter, спасибо за вклад. Если это включено, это вывод: date +%s) -$(stat -c %Y $SENDDIR/$NIGHTLY_FILE) date +%s ++ date +%s stat -c %Y $SENDDIR/$NIGHTLY_FILE) stat - c %Y $SENDDIR/$NIGHTLY_FILE ++ stat -c %Y /senddir/nightly_file.xml stat: невозможно stat /senddir/nightly_file.xml': Нет такого файла или каталога ./file.sh: строка 75: 1386560712 - : синтаксическая ошибка: ожидается операнд (токен ошибки - ) Я просмотрел его, но не уверен, как интерпретировать вывод. редактировать: Извинения за отсутствие форматирования.   -  person PeteJ    schedule 09.12.2013
comment
Существует ли /senddir/nightly_file.xml? Ошибка, кажется, указывает на обратное.   -  person Michael    schedule 09.12.2013
comment
Привет, Майкл. Бинго. Элементарный сценарий был в порядке. Конкретный каталог, на который опирается сценарий, находился не там, где он должен был быть на новом сервере. Спасибо вам обоим за участие!   -  person PeteJ    schedule 10.12.2013
comment
возможный дубликат Синтаксическая ошибка: ожидается операнд (токен ошибки +)   -  person Agostino    schedule 03.03.2014