В bash
оболочке есть встроенная команда с именем, caller
функция которой описывается следующим образом help
:
Return the context of the current subroutine call
Но что такое контекст вызова подпрограммы? Не могли бы вы объяснить это непрограммистам и чем полезно его знание?
решение1
Взято непосредственно со bash
страницы руководства:
caller ... displays the line number and source filename of the current subroutine call.
Проще говоря, он сообщает вам, откуда вы только что пришли. Представьте себе, что это как фея, где двое детей исследуют лес и оставляют хлебные крошки вдоль своего пути. caller
Встроенная команда указывает им на последнюю оставленную ими хлебную крошку, чтобы они могли вернуться к ней. (ладно, дети, в конце концов, немного глупые). Повторное использование этой встроенной команды cal поможет вам вернуться к команде, которую вы фактически запустили, которая оказалась на N уровней глубже в вызовах функций.
По сути, это запись ответов на вопрос «в какой функции я находился до того, как попал в эту?» на каждом уровне вызова функции.