У меня есть два сценария 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?