非常に小さな違いを持つ2つのステートメントを実行します。

非常に小さな違いを持つ2つのステートメントを実行します。

私はしばしば次の文を実行します。

docker stop $(docker ps -aq); docker rm $(docker ps -aq)

これを入力する最短の方法は何ですか?頑張った

docker {stop, rm} $(docker ps -aq)

しかし、これは2つの別々のステートメントには拡張されません。

ベストアンサー1

最も短い方法は、これら2つのコマンドを実行する関数を作成し、それをシェルの起動ファイルに入れて使用することです。

例えば

dstoprm() {
    docker stop $(docker ps -aq)
    docker rm $(docker ps -aq)
}

(関数名を1文字だけで作成すると、名前が短くなります。)


冗長性を減らすには(ボイラープレートコストで)ループを使用できます。

for action in stop rm; do docker $action $(docker ps -aq); done

または、中括弧拡張を使用して複数のコマンドを作成するには、次のようにします。私は誰かにこれを使用することを真剣にお勧めしません:

eval 'docker '{stop,rm}' $(docker ps -aq);'

おすすめ記事