複数のコマンドでランダムにコマンドを実行するためのbashエイリアス

複数のコマンドでランダムにコマンドを実行するためのbashエイリアス

bash エイリアスや関数を実行して、他のコマンドやエイリアスをランダムに選択して実行する方法を理解するのに役立ちます。

コマンドとエイリアスのリスト、関数エイリアスも事前に知られています。リストのサイズも知られています。

エイリアスに保存されているさまざまなバージョンのASCIIアートがあります。

たとえば、ascii-art-colorless-clear ascii-art-colorless-bg ascii-art-color-clear ascii-art-color-bg

エイリアス全体を入力したくない場合はascii-artと入力し、別名の1つをランダムに選択したいと思います。

この場合、各エイリアスは単純なechoコマンドです。

編集:助けて答えを見つけましたギルキノ。必要な機能は select-random-arguement-to-run() { $(shuf -e "$@" -n 1) } です。

ランダムなエイリアスを選択して実行します。

alias ascii-art="select-random-arguement-to-run "ascii-art-colorless-clear" "ascii-art-colorless-bg" "ascii-art-colored-clear" "ascii-art-colored-bg""

これには、以前にbashrcファイルで定義されたselect-random-arguement-to-run関数が必要です。

ベストアンサー1

私は何をしますか?ツール:

$ cat commands.list
rcp
scp
ssh

パスワード:

$ shuf commands.list | head -n1
ssh # random command

関数を定義します。

$ myfunc(){ shuf commands.list | head -n1; }

次の関数を呼び出します。

$ myfunc

おすすめ記事