サブルーチンのコンテキストとは何ですか?

サブルーチンのコンテキストとは何ですか?

にはbash、 という名前のシェル組み込みコマンドがありcaller、その機能は コマンドによって次のように説明されますhelp

Return the context of the current subroutine call

しかし、サブルーチン呼び出しのコンテキストとは何でしょうか? プログラマー以外の人にこれを説明していただけますか? また、これを知っておくとどのようなメリットがありますか?

答え1

man ページから直接引用bash:

caller ... displays the line number and source filename of the  current subroutine call.

簡単に言うと、これはあなたがどこから来たのかを教えてくれます。妖精の森で2人の子供が探検して、たどった道に沿ってパンくずを残していくようなものだと考えてください。caller組み込み関数は、彼らが最後に落としたパンくずを指し示し、そこに戻れるようにします。(まあ、子供たちは結局ちょっとバカですけどね)。この組み込み関数を繰り返し使用すると、関数呼び出しのNレベル深くまで実際に実行したコマンドまで戻ることができます。

基本的には、関数呼び出しの各レベルで「この関数に到達する前にどの関数にいたか」という質問に対する回答を記録するものです。

関連情報