適切なリストでエラーが発生しないようにする

適切なリストでエラーが発生しないようにする

次のコマンドを使用してbashスクリプトにパッケージがインストールされているかどうかを検出しようとしていますが、スクリプトでエラーが発生し、その後は何も実行されません。

aptパッケージがリストにないときにエラーが発生しないようにするオプションはありますか?

pkgExists=$(apt list "azure-cli" | grep "azure-cli" -s)

ベストアンサー1

パッケージがリストにない場合は、apt listパッケージを表示してListing... Done終了します。ただし、以前と同じように出力をパイプしようとすると、明示的な警告が表示されます。

警告:aptには安定したCLIインターフェイスはありません。スクリプトでは大切にしてください。

代わりにを使用してくださいdpkg-query --list。たとえば、次のようになります。

dpkg-query --list "azure-cli" && echo "exists" || echo "doesn't exist"

削除されたパッケージは表示されdpkg-query --listません。

おすすめ記事