В этой ситуации, если бы вы хотели получить путь к основному скрипту из BASH_SOURCE
, вам пришлось бы использовать ${BASH_SOURCE[1]}
.
Для каждого уровня поиска в начало массива BASH_SOURCE
добавляется новый элемент, так что ${BASH_SOURCE[0]}
всегда является текущим исходным файлом, а ${BASH_SOURCE[1]}
тем, которым он был. получено из (и ${BASH_SOURCE[2]}
того, из которого оно было получено, если оно было получено ). Чтобы добраться до основного скрипта, посмотрите на ${BASH_SOURCE[-1]}
, последний элемент.
Источник сценария не полностью копирует содержимое сценария в основной сценарий. Он подобен запуску обычного скрипта, но он выполняется в той же среде, что и основной скрипт. Это больше похоже на выполнение функции.
Похоже, что apport также использует systemd в контейнере.
Таким образом, либо контейнер должен запускать systemd, либо какое-то другое программное обеспечение должно прослушивать /var/run/apport.socket
. Для этой цели я буду использовать пропатченный аппорт.