[英]Using && and || to check installed tools
我正在使用command
測試系統中是否安裝了某些工具
在這種情況下,我正在檢查是否安裝了unzip
。 如果安裝了 unzip,則什么也沒有發生,但如果未安裝 unzip,腳本將運行 apt-get update 和 apt-get install unzip。
我更喜歡將所有這些全部運行起來。
我正在嘗試這個命令:
command -v unzip && echo "[+] unzip is installed in the system" || echo "[!] unzip is not installed in the system" && apt-get update && apt-get install unzip
我總是使用該命令安裝解壓縮。
如果未安裝 unzip,我該如何安裝 unzip ONLY?
謝謝
要在邏輯語句之間進行分組,您需要將它們括在花括號中。 語法是這樣的{... ; }
{... ; }
。
$ command -v bash &>/dev/null && echo 'Installed' || { echo 'Not installed' && echo "Please dont" && echo 'Yes, please do'; }
Installed
$ { command -v bash &>/dev/null && echo 'Installed'; } || { echo 'Not installed' && echo "Please dont" && echo 'Yes, please do'; }
Installed
$ command -v notexist &>/dev/null && echo 'Installed' || { echo 'Not installed' && echo "Please dont" && echo 'Yes, please do'; }
Not installed
Please dont
Yes, please do
$ { command -v notexist &>/dev/null && echo 'Installed'; } || { echo 'Not installed' && echo "Please dont" && echo 'Yes, please do'; }
Not installed
Please dont
Yes, please do
注意:一個分號;
在右大括號之前很重要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.