bash内置函数bash源代码

时间:2013-02-15 14:36:32

标签: linux bash shell built-in

如何查找内置bash函数的来源?

我知道这是一个功能:

$type -t MY_APP
function

我看到它的代码:

type MY_APP
code

问题是:

  1. 它存放在哪里?
  2. 我该如何修改它?

2 个答案:

答案 0 :(得分:7)

你可以这样做:

# 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

要编辑该功能,请打开包含功能定义的文件(您从上面找到的文件)。编辑功能并保存文件。然后将它发送到你的shell中,如下所示:

$ . /path/to/function_file

答案 1 :(得分:0)

函数通常存储在.bashrc文件中(或/etc/bash.bashrc中,在某些系统上也只存在/etc/bashrc)。来自SuperUser的This answer有一些关于.bashrc文件的详细信息。同样,Unix上的this question和Linux网站的详细信息,最好是别名,何时编写脚本以及何时编写函数。