
ll
コマンドを使用して定義されたエイリアスalias
。
type ll
印刷されるようなコマンドを確認できます
ll is aliased to `ls -l --color=auto'
またはcommand -v ll
任意の印刷
alias ll='ls -l --color=auto'
またはalias ll
印刷する
alias ll='ls -l --color=auto'
しかし、見つけることができないと思います。どこエイリアスは、ファイル(たとえば)として定義することも、.bashrc
実行中のシェルで手動で定義することもできます。現時点ではこれが可能かどうかはわかりません。
単にロードされたすべてのファイルを見て、bash
それぞれを確認する必要がありますか?
答え1
シェルに実行中のアクションを表示するように依頼しても、手動定義(おそらく履歴ログ)を見つけるのが難しくなる可能性があるため、grep
rcファイルに設定されている項目を見つけるのに役立ちます。
bash -ixlc : 2>&1 | grep ...
zsh -ixc : 2>&1 | grep ...
シェルが上記のいずれかの呼び出しで必要なオプションを正しくキャプチャできない場合(対話式でnullコマンドを実行する)、次の手順を実行しますscript
。
script somethingtogrep thatstrangeshell -x
...
grep ... somethingtogrep
strace
別のオプションは、類似またはsysdig
検索を使用することです。みんなシェルが触れたファイルに手動でアクセスし、grep
そのファイルに手動でアクセスします(シェルまたはプログラムにフラグがない場合は便利-x
)。 oh-my-zshまたはサイト固有の設定項目がドラッグされている場合、標準のRCファイルは手動ファイル名解決には不十分です。どこにいるかを知っている人のコードです(またはSorontarが答えで指摘したように、環境変数もあるかもしれません)。
答え2
まず、次のコマンドを使用してください
すべての機能を一覧表示
functions
すべてのエイリアスのリスト
alias
エイリアスや関数が見つからない場合は、より積極的な検索方法を検討してください。
バッシュバージョン
bash -ixlc : 2>&1 | grep thingToSearchHere
Zshバージョン
zsh -ixc : 2>&1 | grep thingToSearchHere
オプションの簡単な説明
-i Force shell to be interactive.
-c Take the first argument as a command to execute
-x -- equivalent to --xtrace
-l Make bash act as if invoked as a login shell
答え3
これはgrep -rl
私がとても役に立つと思います:
このコマンド
grep -rl alias ~/.bash* ~/.profile /etc/profile /etc/bash.bashrc
alias
その単語がどのファイルに使用されたかを教えてくれます。
存在すれば、おそらくそうであり~/.bashrc
、確かにそうであろう~/.bash_aliases
。
ただし、この検索にすべてのオプションが含まれているかどうかを確信することは不可能です。これらのファイルは、ファイルシステムの他の場所からファイルを呼び出すかロードすることもできます。 ENVなどの環境変数は、$BASH_ENV
bashに他のファイルをロードするように指示できます。
環境でBASH_ENV変数を見つけて変数が表示されたら、その値を展開し、拡張値を読み取り、実行するファイル名として使用します。
変数を設定してエイリアスを定義することもできます(強調):
BASH_ALIASES
メンバーが組み込みエイリアスによって保持されるエイリアスの内部リストに対応する連想配列変数です。この配列に追加された要素は、エイリアスリストに表示されます。
答え4
エイリアスのソースを実際にリストする方法がわかりませんが、bashを使用しているように見えるので、次のことが可能なソースファイルだと思います。
/etc/profile
~/.profile
/etc/bash.bashrc
~/.bash_profile
~/.bashrc
たとえば、これでエイリアスを見つけることができますgrep 'ls -l --color=auto' /etc/profile ~/.profile /etc/bash.bashrc ~/.bash_profile ~/.bashrc
。