shell fish相当于一个bash if/then/else/fi块是什么?

6rqinv9w  于 2023-04-07  发布在  Shell
关注(0)|答案(2)|浏览(128)

我使用termux和它没有init系统,我发现一个脚本启动crond当我启动应用程序

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

这段代码在bash shell中运行得很好。
我目前正在使用fishshell,并尝试在fish中使用相同的代码,相当于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

请帮助我翻译,我正在阅读鱼类文档,但需要很长时间才能正确。

jdg4fx2g

jdg4fx2g1#

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
cvxl0en2

cvxl0en22#

你应该从tutorial开始。在那里你会学到if块看起来像这样:

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

相关问题