如果我运行declare
命令,则返回一些函数
$ declare -F | grep 'f [^_]'
declare -f dequote
declare -f quote
declare -f quote_readline
但是,如果我运行此命令,则找不到具有该功能的任何文件
grep -r dequote /etc ~
如何找到定义这些功能的文件?
答案 0 :(得分:6)
要在bash中查找函数声明的文件名和行号,请使用shopt -s extdebug
:
$ shopt -s extdebug
$ declare -F quote
quote 143 /usr/share/bash-completion/bash_completion
答案 1 :(得分:-1)
$ egrep '^(dequote|quote)' /usr/share/bash-completion/bash_completion
quote()
quote_readline()
dequote()