apt の結果をgrep するといつも警告が出る。
takuya@:~$ apt list --installed | grep docker WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
いつもこれどうしたものかとかと悩んでたんですが。ある日偶然タイプミスして解決方法に気づいたのでメモ
apt の引数にワイルドカードがつけられる。
docker のapt を消して snapd に変更しようとしてて、ワイルドカードを使ってる。
apt purge docker* apt install docker* apt list docker*
ワイルドカードが使えるんですね。apt の引数には
apt list の引数は ワイルドカードが取れる
ということは、ワイルドカードで検索ができる。
takuya@:~$ apt list --installed *docker* 一覧表示... 完了 cockpit-docker/stable,now 188-1 all [インストール済み] docker-ce-cli/now 5:19.03.6~3-0~debian-stretch amd64 [インストール済み、ローカル] docker-ce/now 5:19.03.6~3-0~debian-stretch amd64 [インストール済み、ローカル] docker-compose/stable,now 1.21.0-3 all [インストール済み] golang-docker-credential-helpers/stable,now 0.6.1-2 amd64 [インストール済み、自動] python3-docker/stable,now 3.4.1-4 all [インストール済み、自動] python3-dockerpty/stable,now 0.4.1-1 all [インストール済み、自動] python3-dockerpycreds/stable,now 0.3.0-1 all [インストール済み、自動]
シェルの引数展開ではなくapt
シェルのワイルドカード展開かなともおもってエスケープしたり引数をクォートした。ちゃんとワイルドカードで取ってくれるのがわかる
takuya@:~$ apt list --installed \*docker* takuya@:~$ apt list --installed \*docker\* takuya@:~$ apt list --installed '*docker*' 一覧表示... 完了 cockpit-docker/stable,now 188-1 all [インストール済み] docker-ce-cli/now 5:19.03.6~3-0~debian-stretch amd64 [インストール済み、ローカル] docker-ce/now 5:19.03.6~3-0~debian-stretch amd64 [インストール済み、ローカル] docker-compose/stable,now 1.21.0-3 all [インストール済み] golang-docker-credential-helpers/stable,now 0.6.1-2 amd64 [インストール済み、自動] python3-docker/stable,now 3.4.1-4 all [インストール済み、自動] python3-dockerpty/stable,now 0.4.1-1 all [インストール済み、自動] python3-dockerpycreds/stable,now 0.3.0-1 all [インストール済み、自動]
便利です。
インストール済みのパッケージを探したり、まとめて消すときや、関連するパッケージをまとめて探すのがとても便利になった。