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

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

但是,如果我运行此命令,它将找不到具有该功能的任何文件
grep -r dequote /etc ~

如何找到定义这些函数的文件?

最佳答案

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

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

关于bash - 功能位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21130393/

10-15 02:31