
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 -al
which ls
ls: aliased to ls -al
。