bashコマンドの定義やソースをお探しですか? [コピー]

bashコマンドの定義やソースをお探しですか? [コピー]

bash時には、私が入力したコマンドの実際の結果が何であるか疑問に思うことがあります。通常、実行可能ファイルがwhich

$ which vim
/usr/bin/vim

しかし、エイリアスを作成するとどうなりますかvim

$ alias vim="echo mwahaha"
$ which vim
/usr/bin/vim

まあ。良くありません。何か疑問があり、エイリアスが使用されていることをvim確認したい場合は、次のように入力します。

alias vim

...しかし、別名があれば、別名をalias vim='vim -p'確認するつもりはありません。エイリアスはまだうまく機能するためです。vim

どの特定のコマンドが評価されているかを正確に知ることはできますかbash

答え1

を使用すると、typebashの内側にあります。

$ type vim
vim is /usr/bin/vim
$ type -p vim
/usr/bin/vim
$ alias vim="echo mwahaha"
$ type vim
vim is aliased to `echo mwahaha'
$ type -p vim
$

コマンド情報を取得するさまざまな方法の詳細な分析この回答著者:スティーブン・チャゼラス(Stephen Chazeras)whichシェルのハッシュルックアップテーブルを知らない悪意のあるプログラムであっても、問題を引き起こす可能性に頼ってはいけません。

関連情報