В одном из моих bash сценариев я использую переменную, которая содержит путь к сценарию. Эта переменная установлена следующим образом:
current_folder=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
Поскольку этот скрипт является частью нескольких, я хочу переместить этот код в глобальный импортированный скрипт. Но логически тогда переменная заполняется путем глобального сценария.
/ MyProgram / common / globals. sh
current_folder=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
/ MyProgram / modules / myscript. sh
. /MyProgram/common/globals.sh
echo "$current_folder" # Returns /MyProgram/common
Есть ли способ сделать это без создания функции и передачи исходного пути в качестве параметра? Необходимость создавать код для каждого сценария в каждом запросе на использование пути кажется контрпродуктивной.