Сценарии оболочки позволяют автоматизировать многие задачи и процессы в Linux. Многие команды в сценарии оболочки зависят от текущего рабочего каталога для правильной работы. Иногда вам может понадобиться установить текущий рабочий каталог в каталог сценария оболочки, чтобы избежать ошибок и позволить оболочке правильно находить команды и файлы. В этой статье мы узнаем, как установить текущий рабочий каталог в каталог сценария оболочки.
Как установить текущий рабочий каталог в каталог сценария оболочки
По умолчанию, когда вы запускаете сценарий оболочки, его текущий рабочий каталог совпадает с текущим рабочим каталогом, из которого вы вызвали сценарий оболочки. Если вы хотите изменить текущий рабочий каталог на каталог сценария оболочки, добавьте в сценарий оболочки следующие строки.
1 2 | #!/bin/bash cd "$(dirname "$0")" |
В приведенной выше команде первая строка устанавливает среду выполнения. Вторая строка выполняет команду cd для изменения текущего рабочего каталога сценария оболочки. При этом мы используем команду dirname для получения каталога сценария оболочки. Команда dirname $0 возвращает каталог, в котором находится файл сценария Bash. $() используется для подстановки команды, то есть $(dirname "$0") заменяется на текущий рабочий каталог сценария оболочки.
Таким образом, когда вы добавите две вышеприведенные строки в сценарий оболочки, он изменит текущий рабочий каталог сценария оболочки на каталог сценария оболочки. Это полезно, если в сценарии оболочки есть ссылки на относительные пути, которые зависят от расположения папки сценария оболочки.