bash関数のソースを、該当関数スコープの外部から取得する


bashにおいて、任意の関数のソースファイルを取得する方法を探しています。

例えば、以下のような関数を適当なファイルに書き込んで`source`するとします。

[code]

    somefunc () {
      echo "${BASH_SOURCE[@]}"
    }
    
[/code]

該当の関数それ自体においては`BASH_SOURCE`変数からソースファイルを取得できますが、外部からこれを取得する方法はないでしょうか？




「別のプロセス」というのがよく分からないのですが、これは「当該関数スコープの外側」という意味でしょうか？ その場合は以下の様にして調べる事ができます。

[code]

    ## Enable debugging mode
    $ shopt -s extdebug
    ## Show the sourced file path where a function is defined
    $ declare -F ord
    ord 96 /home/nemo/.bash_functions/00.sh
    
    /home/nemo/.bash_functions/00.sh:
    =================================
    96: function ord {
    97:   echo $(printf '%d' \'$1)
    98: }
    =================================
    
[/code]

勘違いをしていたらすみません。




「別のプロセス」というのがよく分からないのですが、これは「当該関数スコープの外側」という意味でしょうか？ その場合は以下の様にして調べる事ができます。

[code]

    ## Enable debugging mode
    $ shopt -s extdebug
    ## Show the sourced file path where a function is defined
    $ declare -F ord
    ord 96 /home/nemo/.bash_functions/00.sh
    
    /home/nemo/.bash_functions/00.sh:
    =================================
    96: function ord {
    97:   echo $(printf '%d' \'$1)
    98: }
    =================================
    
[/code]

勘違いをしていたらすみません。

