Variable
將錯誤重定向到 /dev/null
我有一個帶有該行的 shell 腳本
COMPRESS_OPTION=`which compress`
我們的伺服器中沒有
compress
安裝實用程序,因此它給出了錯誤which: no compress in (/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/oracle/bin)
螢幕上。所以我嘗試了
COMPRESS_OPTION=`which compress 2>/dev/null`
即使那樣我在螢幕上也出現錯誤。
不要使用
which
,使用 POSIX 標準command -v
。例如:COMPRESS_OPTION="$(command -v compress)" [ $? != 0 ] && echo "compress not found" || echo "compress is $COMPRESS_OPTION"
如果您不想更改
which
腳本中的所有實例,請在開頭附近添加如下函式:which() { local w status w="$(command -v "$1")" status=$? [ -n "$w" ] && echo "$w" return $status }