У меня есть некоторые проблемы при получении моего .sh скрипт работает, я получаю следующее сообщение об ошибке:.sh неожиданные «фи (ожидаемые "тогда")
power_toggle.sh: line 8: syntax error: unexpected "fi" (expecting "then")
Сценарий:
#!/bin/sh
SERVICE='hyperiond'
if pgrep $SERVICE > /dev/null
then
killall hyperiond 2>/dev/null
else
/storage/.config/autostart.sh > /dev/null 2>&1 &
fi
I попробовали shellcheck.net, и он не нашел в этом ничего плохого. У меня также есть chmod + x'ed. 2 команды отлично работают с ними через терминал ssh.
Надеюсь, что ребята могут помочь , потому что я потерян.
Не видите ничего плохого, и это работает для меня хорошо ... Вы уверены, что сценарий выше - это то, что вы на самом деле пытаетесь выполнить? –
Показанный синтаксис правильный. Это сильно говорит о том, что любой скрипт генерирует ошибку, а не тот, который вы показываете. (Существует некоторая возможность для улучшения кода - номинально, рекомендуется использовать двойные кавычки вокруг переменных в «pgrep» $ SERVICE »и, безусловно, хорошая идея использовать« killall »$ SERVICE» (так что вы можете измените сервис, не убивая неправильные процессы), но синтаксически, это нормально.) –
Я не знаю, что это такое, у меня есть трижды, 100 раз, проверьте его много раз. Если я попробую «sh power_toggle.sh», это даст мне вышеуказанную ошибку. Если я попытаюсь ./power_toggle.sh, он дает мне «sh: ./power_toggle.sh: not found». Я использую окна и загружаю их в openelec @ Raspberry Pi. – siz