Linux
防止 apt list 拋出錯誤
我正在嘗試使用以下命令檢測是否在 bash 腳本中安裝了一個包,但該腳本不斷出錯並阻止它執行後的任何內容。
當包不在列表中時,是否有一個選項
apt
告訴它不拋出錯誤?pkgExists=$(apt list "azure-cli" | grep "azure-cli" -s)
如果一個包不在列表中,
apt list
只顯示Listing... Done
並退出。如果您嘗試像您一樣通過管道傳輸其輸出,但它會拋出一個明確的警告:警告:apt 沒有穩定的 CLI 界面。在腳本中謹慎使用。
改為使用
dpkg-query --list
,例如:dpkg-query --list "azure-cli" && echo "exists" || echo "doesn't exist"
請注意,
dpkg-query --list
它不顯示未安裝的軟體包。