Синтаксическая ошибка около неожиданного маркера 'fi'

Если Вы хотите использовать NTP, необходимо действительно использовать его правильно и установить демона NTP. Это попробует, сохраняют Ваши часы в синхронизирующем использовании регулярной расфазировки тактовых сигналов вместо того, чтобы перейти он в произвольные моменты времени.

Можно получить хороший порт Windows стандартного NTPD отсюда.

0
задан 7 April 2011 в 02:33
5 ответов

Вы пропускаете точку с запятой (и я не уверен, работает ли она без квадратных скобок).

Альтернативы:

если [[$?-ne 0]]; затем

или

если! тестовый $? = 0; затем

или

если [$?-ne 0]; затем

или

тестовый $? = 0 || повторяют 'ошибку';

или еще лучше:

комната/bla/bla || повторяет 'ошибку';

(последний является Вашим целым сценарием),

5
ответ дан 4 December 2019 в 11:13

Вот очень удобная альтернатива. "Тестовая" команда является самостоятельно командой как "комната". Это отправляет код возврата в "если": 0, если это успешно выполняется и 1 или больше, если это перестало работать. Таким образом вместо того, чтобы проверить код возврата в специальный $? переменная, можно просто сделать это:

if rm foo; then
    echo "It worked"
else
    echo "It failed"
fi

Можно также инвертировать если путем выполнения этого:

if ! rm foo; then
     echo "It failed"
fi
2
ответ дан 4 December 2019 в 11:13
  • 1
    Или, исключая если полностью: нечто комнаты || повторяют ' Это failed'; –   24 March 2010 в 18:08
  • 2
    И если Вы хотите сделать больше чем одну вещь, если она перестала работать: нечто комнаты || {повторяют ' Это failed'; выход 1;} –  James 24 March 2010 в 18:22

Вам нужна точка с запятой в конце что если оператор, а также скобки:

#!/bin/sh

rm /opt/file_name

if [ $? -ne 0 ]; then

     echo 'error'

fi

exit
0
ответ дан 4 December 2019 в 11:13

Вам нужны точка с запятой или разрыв строки между if и then, т.е.

if $? -ne 0; then
...
fi

или

if $? -ne 0
then
...
fi
0
ответ дан 4 December 2019 в 11:13
#!/bin/sh

rm somefile

if [ $? -ne 0 ]
then
     echo 'error'
fi

exit
0
ответ дан 4 December 2019 в 11:13
  • 1
    Спасибо все, квадратные скобки и работа разрыва строки. Счет –   24 March 2010 в 17:38

Теги

Похожие вопросы