Bashシェルにエイリアスがあるとします。エイリアスが実行するコマンドを出力する簡単なコマンドはありますか?
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
が引数リストに含まれるほか、自分で追加したものも含まれることを示します。
シェルプロンプトでalias
と入力するだけです。現在アクティブなすべてのエイリアスのリストを出力する必要があります。
または、alias [command]
と入力して特定のエイリアスのエイリアスを確認できます。たとえば、ls
エイリアスのエイリアスを確認する場合は、alias ls
を実行できます。 。
本当に好き Ctrl+Alt+E この答え から学んだように。これは、現在入力されているコマンドラインを「展開」します。つまり、(特に)エイリアス展開を実行します。
どういう意味ですか?コマンドラインで現在記述されている可能性のあるエイリアスを、エイリアスの意味に変換します。
たとえば、次のように入力した場合:
$ ls
を押します Ctrl+Alt+Eになります
$ ls --time-style=locale --color=auto
厳密に言えば、正解はBASH_ALIASES配列を使用することです。例:
$ echo ${BASH_ALIASES[ls]}
ls -F --color=auto --show-control-chars
which
コマンドを使用できます。
ls
のエイリアスをls -al
として設定し、which ls
と入力すると、次のように表示されます。
ls: aliased to ls -al
。