シェル関数の現在の定義を表示する


11

だから私は常にbashrcを編集していて、bashrcは誤った関数定義で更新されていますが、機能している関数定義でターミナルを開いています。(更新されたbashrcを入手するまで定義が変更されないため)この場合、機能する関数の定義をどのように検索できますか?たとえば、次のように入力すると、

alias function_name

そのエイリアスの定義が何であるかがわかります。機能に似たコマンドはありますか?そうでない場合、現在の端末が使用しているbashrc全体を出力するコマンドはありますか?

回答:


18
typeset -f function

指定された関数の現在の定義を表示します。ksh(元の場所)、bash、zshで動作します。(NB zshの中で、type -fwhichfunctionswhence -fも関数定義を示しています。)


whence -cvzsh でも使用できます。-vオプションは、このようなエイリアスや関数(またはあなたの中にそれ以外の実行ファイルが存在しない場合、あなたに伝えているPATH)すべてで。(私と同じように)頻繁に使用する場合は、1ワードのコマンドにエイリアスすることができます。
エマニュエルバーグ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.