相当于bash if / then / else / fi区块的鱼是什么?

时间:2019-04-14 16:07:50

标签: shell fish

我正在使用termux,它没有init系统,我在启动应用程序时发现了一个脚本来启动crond

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

此代码非常适合bash shell。

我当前正在使用鱼壳,并尝试在鱼的等效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 个答案:

答案 0 :(得分:1)

老实说,您没有做出任何努力来学习有关鱼壳的任何知识。您应该以tutorial开始。在那里,您将了解到if块看起来像这样:

if pgrep -f "crond" >/dev/null
    do_something
end

答案 1 :(得分:0)

glenn-jackman的这个回答非常有帮助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