功能的位置

时间:2014-01-15 06:20:41

标签: bash function

如果我运行declare命令,则返回一些函数

$ declare -F | grep 'f [^_]'
declare -f dequote
declare -f quote
declare -f quote_readline

但是,如果我运行此命令,则找不到具有该功能的任何文件

grep -r dequote /etc ~

如何找到定义这些功能的文件?

2 个答案:

答案 0 :(得分:6)

要在bash中查找函数声明的文件名和行号,请​​使用shopt -s extdebug

$ shopt -s extdebug
$ declare -F quote
quote 143 /usr/share/bash-completion/bash_completion

答案 1 :(得分:-1)

他们是Bash-Completion

的一部分
$ egrep '^(dequote|quote)'  /usr/share/bash-completion/bash_completion 
quote()
quote_readline()
dequote()