Почему: ошибка синтаксиса Bash рядом с неожиданным токеном `fi'
Таким образом, ошибка, которую я получаю, является синтаксической ошибкой рядом с неожиданным токеном `fi'на втором последнем'fi'. Некоторое время царапал мою голову об этом. Любая помощь очень ценится! Спасибо!
#!/bin/bash
TFILE=/tmp/scripts/pdsh_demo.tmp
if [ -f $TFILE ]; then
rm $TFILE
fi
/usr/bin/pdsh -R ssh -w host[0001-0200] 'command | grep -v "something"' >> $TFILE
if [ ! -s $TFILE ]; then
exit
fi
if [ -f $TFILE ]; then
if grep -q "something" $TFILE ; then
grep -i "something" $TFILE | mailx -r "test.server" -s "Critical: something" -a $TFILE "test@test.com"
fi
fi
2 ответа
вы должны сделать это:
if grep -q "something" $TFILE ; then
в это:
if [ $(grep -q "something" $TFILE) ] ; then
- добавьте скобки вокруг ваших аргументов
- пробел до и после скобок
- помещать
then
на новой линии
В
if grep -q "something" $TFILE ; then
должно быть
if [ $(grep -q "something" $TFILE) ]; then