には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レベル深くまで実際に実行したコマンドまで戻ることができます。
基本的には、関数呼び出しの各レベルで「この関数に到達する前にどの関数にいたか」という質問に対する回答を記録するものです。