In bash
gibt es einen in die Shell integrierten Befehl namens , dessen Funktion durch den Befehl caller
wie folgt beschrieben wird :help
Return the context of the current subroutine call
Aber was ist der Kontext eines Unterprogrammaufrufs? Könnten Sie das Nicht-Programmierern erklären und welchen Nutzen es hat, das zu wissen?
Antwort1
Direkt von der bash
Manpage übernommen:
caller ... displays the line number and source filename of the current subroutine call.
Einfach ausgedrückt sagt es Ihnen, woher Sie gerade gekommen sind. Stellen Sie es sich wie das Märchen vor, in dem zwei Kinder den Wald erkunden und Brotkrümel auf ihrem Weg hinterlassen. Das caller
integrierte Element weist sie auf den letzten Brotkrümel hin, den sie hinterlassen haben, damit sie dorthin zurückkehren können. (OK, die Kinder sind schließlich ziemlich dumm.) Die wiederholte Verwendung dieses integrierten Cals führt Sie zurück zu dem Befehl, den Sie tatsächlich ausgeführt haben und der N Ebenen tief in Funktionsaufrufen endete.
Es handelt sich im Grunde um eine Aufzeichnung der Antworten auf die Frage „In welcher Funktion war ich, bevor ich zu dieser gelangt bin?“ auf jeder Ebene des Funktionsaufrufs.