回答:
これには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あなた自身を追加し、他のに加えて、引数のリストに含まれます。
typeあなたは...別名以外の何かをヒットするまで
type引用符を解析/解釈するので、引用符が正しいことを確認できるため、この回答が好きです。
ls is aliased to 'ls --color=auto'、/ bin / lsまたは/ usr / local / bin / lsを使用するかどうか、または何を使用するかを確認するために、1つのレイヤーをさらに深くするにはどうすればよいですか?
type -a lsは、見つかったすべてのlsコマンドを優先順に表示します。エイリアスのすぐ下の方がエイリアスによって実行されます。
入力するだけでalias、シェルプロンプトでしばらく。現在アクティブなすべてのエイリアスのリストを出力する必要があります。
または、alias [command]特定のエイリアスがエイリアスされているものを入力して確認することlsもできますalias ls。たとえば、エイリアスのエイリアスが何であるかを知りたい場合は、できます。
alias ls、具体的に何にlsエイリアスされているかを調べるために入力します。
typeただし、どちらの場合でも機能します。
この答えから学んだように、私は本当にCtrl+ Alt+ が好きです。これは、現在入力されているコマンドラインを「展開」します。つまり、(特に)エイリアスの展開を実行します。E
どういう意味ですか?コマンドラインで現在記述されている可能性のあるエイリアスを、エイリアスの意味に変換します。
たとえば、次のように入力した場合:
$ ls
押してからCtrl+ Alt+ E、それがになっています
$ ls --time-style=locale --color=auto
squeue -u davidmh -o %.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R 代わりにsqueue -u davidmh -o "%.18i %.9P %.25j %.8u %.8T %.10M %.9l %.6D %R "
厳密に言えば、正解はBASH_ALIASES配列を使用しています。例:
$ echo ${BASH_ALIASES[ls]}
ls -F --color=auto --show-control-chars
lsそこにあるものを変更せずに、現在のエイリアスにさらにスイッチをスタックしたい。だから私はalias ls="${BASH_ALIASES[ls]} --time-style=iso"私のケースに行きます。
このwhichコマンドを使用できます。
lsasのエイリアスを設定してls -alからを入力するとwhich ls、次のように表示されます。
ls: aliased to ls -al。
whichコマンドがありません。
whichここで説明されているように、エイリアスを検索するのは悪い方法です:unix.stackexchange.com/questions/10525/…Ubuntuの bashのエイリアスに対しても機能しません。