2014-02-20 5 views
0

Я новичок в Shell Scripting:Создать папку в том же каталоге, что и скрипт

Я пытаюсь создать скрипт, который запрашивает ввод пользователя, чтобы имя папки, находит каталог, скрипт выполняющиеся from и создает папку в том же каталоге с кучей файлов (я могу сделать эту часть)

Моя проблема: я не могу понять, как заставить скрипт найти свою текущую директорию без явного написания ее вне.

Я хочу, чтобы иметь возможность запускать его из любого места, и создать его папку рядом с ним, без необходимости каждый раз, когда пользователь должен будет перемещать ее из домашней папки.

Может кто-нибудь помочь в этом?

+1

использовать $ PWD или ' pwd'. Начните с эха $ PWD или echo 'pwd' –

ответ

1

Вы могли бы попробовать это один лайнер:

DIR="$(cd "$(dirname "$0")" && pwd) 

оставит вас с переменной $ DIR, который содержит полный путь к текущему каталогу. См. this answer для получения дополнительной информации!

+0

Спасибо. Это сработало очень хорошо. – user3333990

0
script_dir=$(dirname "$0") 

$ 0 это имя запущенного сценария, так как вошел в командной строке (например: ./bin/script)

Если вы хотите полный путь:

script_dir=$(cd -P -- "$(dirname "$0")" && pwd -P) 
Смежные вопросы