組み込みの bash 関数のソースを見つける方法は?
私はそれが関数であることを知っています:
$type -t MY_APP
function
私はそれがコードだと思います:
type MY_APP
code
質問は次のとおりです。
- どこに保管されていますか?
- どうすれば変更できますか?
次のように実行できます。
# Turn on debug
$ shopt -s extdebug
# Print out the function's name, line number and file where it was sourced from
$ declare -F my_function
my_function 46 /home/dogbane/.bash/.bash_functions
# Turn off debug
shopt -u extdebug
関数を編集するには、(上で見つけた) 関数定義を含むファイルを開きます。関数を編集してファイルを保存します。次に、次のようにシェルにソースします。
$ . /path/to/function_file
関数は通常、.bashrc
ファイル (または、一部のシステムに/etc/bash.bashrc
は存在する) に格納されます。SuperUser からのこの回答には、ファイルとは何かに関する詳細が記載されています。同様に、Unix & Linux サイトのこの質問では、いつエイリアスを作成し、いつスクリプトを作成し、いつ関数を作成するのが最適かについて詳しく説明しています。/etc/bashrc
.bashrc