Определение переменной при запуске сценария оболочки? - PullRequest
2 голосов
/ 01 сентября 2011

Я пытаюсь написать скрипт оболочки, который в основном попадает в определенную папку и выполняет некоторые действия. Уловка здесь в том, что имя папки является переменной, т.е. /path/to/variable

Я думал, можно ли запустить сценарий оболочки из командной строки, а также определить переменную в той же строке? Что-то вроде:

./run.sh $id=456

Когда он работает, он принимает путь как /path/to/$id и, следовательно, /path/to/456.

Ответы [ 2 ]

4 голосов
/ 01 сентября 2011

Вы можете запустить скрипт в следующем стиле:

./run.sh 465

Чем вы можете получить доступ к содержимому параметра внутри скрипта с помощью $1 (1-й параметр), $2 (2-й параметр)и так далее.Чтобы изменить каталог, используйте cd /path/to/$1 BTW: $# возвращает количество параметров.

Другой способ - использовать аргументы, например здесь: http://www.linux.com/archive/feature/118031 Таким образом, вы можете запустить свой скрипт следующим образом:./run.sh -d 465 (где -d обозначает каталог)

3 голосов
/ 01 сентября 2011

И наоборот.

id=456 ./run.sh
...