簡體   English   中英

如何防止在運行腳本時出現“ type”標准輸出?

[英]How can I prevent “type” stdout from appearing while running my script?

我目前正在處理一個腳本,該腳本需要在程序首次啟動時檢查是否已安裝該程序。 如果程序不存在,腳本將繼續執行程序安裝所需的一切。 到目前為止,我已經嘗試了以下方法:

program_exist=$( type "someprogram" | grep "not found" )
if ! "$someprogram_exist"; then
        do some stuff
fi

program_exist=$( type "someprogram" 2>&1 >/dev/null | grep "not found" )
if ! "$someprogram_exist"; then
        do some stuff
fi

但是每次運行此命令時,我總是會遇到以下消息:

./some_program.sh: line 8: ./some_program.sh: line 7: type: someprogram: not found: No such file or directory

有沒有一種方法可以檢查程序是否存在而不會顯示./some_program.sh: line 8: ./some_program.sh: line 7: type: someprogram: not found: No such file or directory每次都./some_program.sh: line 8: ./some_program.sh: line 7: type: someprogram: not found: No such file or directory消息?

只需嘗試:

if ! type someprogram &>/dev/null; then
    do_some_stuff
fi

或更短:

type someprogram &>/dev/null || do_some_stuff

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM