まず、次のコマンドを使用してください

まず、次のコマンドを使用してください

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

シェルに実行中のアクションを表示するように依頼しても、手動定義(おそらく履歴ログ)を見つけるのが難しくなる可能性があるため、greprcファイルに設定されている項目を見つけるのに役立ちます。

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_ENVbashに他のファイルをロードするように指示できます。

環境で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

関連情報