2
我想檢查兩個程序是否存在。Bash如果沒有或有兩個命令
if ! [ type gedit ] || ! [ type vim ]; then
echo "Installing programs"
#code
fi
#CODE需要時,其中之一是缺少運行。
它的真實方式是什麼?
我想檢查兩個程序是否存在。Bash如果沒有或有兩個命令
if ! [ type gedit ] || ! [ type vim ]; then
echo "Installing programs"
#code
fi
#CODE需要時,其中之一是缺少運行。
它的真實方式是什麼?
if ! type gedit vim &>/dev/null; then
echo "Installing programs"
#code
fi
測試命令,[
的目的,是設置一個退出狀態取決於一些條件,如文件的存在或兩個字符串的平等。在這裏不需要,因爲type
本身設置了一個有用的退出狀態。
此外,請注意,您可以指定多個名稱作爲參數type
。只有找到所有名字,它纔會返回零退出狀態。
&>/dev/null
os的目的是將所有類型的輸出(stdout和stderr)發送到/dev/null
。如果你真的想看到它的輸出,那麼刪除重定向。
類型的把戲。非常感謝! – denedimolmuyor
請注意'&>'重定向是一種在所有shell中都不會被遵守的bashism。事實上,bash的行爲可以說不符合sh標準,並且應該通過異步運行cmd來解釋'cmd> file',然後截斷文件(因爲它被破折號解釋)。要可移植重定向,請使用'cmd>/dev/null 2>&1' –