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