這基本上是我在bash中的第一個腳本,所以我可能會錯過一些非常簡單的東西。Bash - 爲什麼這種情況不會做我認爲應該做的事情?
我不明白爲什麼"$(pgrep firefox)"
似乎返回的東西,即使firefox沒有運行。
腳本應該始終保持firefox實例在運行。
#!/bin/bash
while true;
do
if [ -z "$(pgrep firefox)" ]
then
echo "firefox not running. Starting now..."
firefox
fi
done
真正奇怪的是,如果我在bash命令鍵入此提示它按預期工作
if [ -z "$(pgrep firefox)" ]; then echo "not running"; fi
你意識到你的命令提示符下測試有(V「未運行」「運行」)逆轉邏輯?也不需要「;」事後(不要以爲它會受傷)。 –
我的意思是'沒有運行'。更新,謝謝! – Bogdan
這是一個非常繁忙的腳本。你可能想在while循環中睡幾秒鐘。 –