Как получить каталог сценария оболочки Bash

Shell-скрипты позволяют автоматизировать задачи в Linux. Иногда вам может понадобиться получить каталог сценария bash или получить папку, в которой находится сценарий. Это может быть полезно в случае, если вы хотите ограничить выполнение сценария оболочки в зависимости от того, как он вызывается, или вы хотите настроить сценарий оболочки в зависимости от его местоположения. В этой статье мы узнаем, как получить каталог shell-скрипта.

Как получить каталог сценария оболочки

Вот простая однострочная команда для получения папки сценария оболочки. Вам нужно добавить ее в свой сценарий оболочки, чтобы он отображал путь к папке.

Приведенный выше код выведет путь к папке сценария оболочки, независимо от того, откуда вы его вызываете.

Вы также можете использовать `dirname "$0″ или $(dirname "$0"), но его вывод будет отличаться в зависимости от того, как вызывается скрипт.

Допустим, вы создаете пустой shell-скрипт.

Добавьте в него следующие строки.

Сохраните и закройте файл.

В приведенном выше коде BASH_SOURCE[0] содержит полный путь к файлу вашего сценария оболочки. Команда dirname используется для получения местоположения папки, содержащей файл. Как только она получена, мы используем команду cd для перехода в эту папку. Вывод всех этих команд отбрасывается, отправляясь в dev/null. Наконец, мы вызываем команду pwd, чтобы получить текущий рабочий каталог и сохранить его в переменной оболочки SCRIPT_DIR.

Сделаем скрипт исполняемым.

Запустите скрип.

./test.sh

Заключение

В этой небольшой статье мы узнали, как получить расположение папки сценария оболочки. Вы можете использовать эти команды в любой оболочке, не только в bash.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий