У меня есть два сценария Bash в той же папке (где-то сохранен пользователем, который загружает весь репозиторий):
-
script.sh
выполняется пользователем -
helper.sh
требуется и выполняетсяscript.sh
Два сценария должны находиться в одном каталоге. Мне нужен первый script для вызова второго, но есть две проблемы:
- Знание текущего рабочего каталога бесполезно для меня, потому что я не знаю, как пользователь выполняет первый script (может быть с
/usr/bin/script.sh
, с./script.sh
, или он может быть с../Downloads/repo/scr/script.sh
) - script
script.sh
будет изменен на другой каталог перед вызовомhelper.sh
.
Я могу определенно взломать Bash, что делает это, сохраняя текущий каталог в переменной, но этот код кажется излишне сложным, поскольку я думаю, это очень общая и простая задача.
Существует ли стандартный способ надежного вызова helper.sh
изнутри script.sh
? И будет работать в любой поддерживаемой операционной системе Bash?