Что рыба эквивалентна bash, если / then / else / fi block? - PullRequest
0 голосов
/ 14 апреля 2019

Я использую termux, и у него нет системы инициализации, я нашел скрипт для запуска crond при запуске приложения

if ! pgrep -f "crond" >/dev/null; then
echo "[Starting crond...]" && crond && echo "[OK]"
else
echo "[crond is running]"
fi

этот код отлично работал для оболочки bash.

В настоящее время я использую рыбный панцирь и пытался использовать тот же код в рыбном эквиваленте bash_profile AKA config.fish, однако я получил сообщение об ошибке

Missing end to balance this if statement
if ! pgrep -f "crond" >/dev/null; then
^
from sourcing file ~/.config/fish/config.fish
         called during startup

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

Ответы [ 2 ]

1 голос
/ 14 апреля 2019

Честно говоря, вы не приложили никаких усилий, чтобы узнать что-нибудь о раковине рыбы. Вы должны начать с учебника . Там вы узнаете, что if блоки выглядят так:

if pgrep -f "crond" >/dev/null
    do_something
end
0 голосов
/ 14 апреля 2019

Этот ответ Гленн-Джекмана очень полезен https://stackoverflow.com/a/29671880/5257034

Я могу запустить код в config.fish без проблем

мой код

if ! pgrep -f $crond >/dev/null
echo "[Starting crond...]"; and crond; and echo "[OK]"
else
echo "[crond is running]"
end
...