bash エイリアスに添付されたコマンドを確認するにはどうすればよいでしょうか?

bash エイリアスに添付されたコマンドを確認するにはどうすればよいでしょうか?

bash シェルにエイリアスがあるとします。エイリアスが実行するコマンドを出力する簡単なコマンドはありますか?

答え1

組み込みtypeはこれに役立ちます。エイリアスだけでなく、関数、組み込み、キーワード、外部コマンドについても教えてくれます。

$ type ls
ls is aliased to `ls --color=auto'
$ type rm
rm is /bin/rm
$ type cd
cd is a shell builtin
$ type psgrep
psgrep is a function
psgrep () 
{ 
    ps -ef | { 
        read -r;
        printf '%s\n' "$REPLY";
        grep --color=auto "$@"
    }
}

type -a cmdは、その名前のすべてのコマンドを優先順位に従って表示します。これは、lsエイリアス自体が を呼び出す上記のエイリアスに役立ちますls

$ type -a ls
ls is aliased to `ls --color=auto'
ls is /bin/ls

lsこれは、 を実行すると、が/bin/ls使用され、--color=auto自分で追加した他の引数に加えて、 が引数リストに含まれることを示しています。

答え2

シェルプロンプトで while と入力するだけですalias。現在アクティブなすべてのエイリアスのリストが出力されます。

または、 と入力して、alias [command]特定のエイリアスが何にエイリアスされているかを確認することもできます。たとえば、エイリアスが何にlsエイリアスされているかを確認する場合は、 と入力しますalias ls

答え3

私は本当に好きですCtrl+ Alt+Eから学んだようにこの答え現在入力されているコマンド ラインを「展開」します。つまり、エイリアスの展開 (およびその他の処理) を実行します。

それはどういう意味でしょうか? これは、現在コマンド ラインに書き込まれている可能性のあるエイリアスを、そのエイリアスが表すものに変換します。

たとえば、次のように入力すると:

$ ls

そしてCtrl+ Alt+Eを押すと、

$ ls --time-style=locale --color=auto

答え4

コマンドを使用できますwhich

as のエイリアスを設定して と入力すると、ls次のように表示されます。ls -alwhich ls

ls: aliased to ls -al

関連情報