シェルのすべてのコマンドのプレフィックス

シェルのすべてのコマンドのプレフィックス

毎回入力せずにシェルのすべてのコマンドにプレフィックスを追加するにはどうすればよいですか?

マイユースケース1:

$ git init
$ git add -A
$ git commit
$ git push

プレフィックスはgit␣は空白文字です)でなければなりません。

init
add -A
commit
push

マイユースケース2:

sudo docker run my-repo/my-image
sudo docker ps
sudo docker images

接頭辞は次のようになります。sudo docker␣

run my-repo/my-image
ps
images

次のようなことができれば一番いいでしょう。

$ git init
$ use_prefix sudo docker
> ps
> images
> exit
$ sudo docker run my-repo/my-image

ベストアンサー1

次の機能を使用できます。

use_prefix () {
    while read -ra c; do
        "$@" "${c[@]}"
    done
}

次に、プレフィックスをuse_prefixコマンドの引数として受け入れ、標準入力からプレフィックスを付ける各コマンドを読み取ります。

注:while readループを終了するには、ctrl + cを使用する必要があります。

おすすめ記事