База данных: 0403-009 Указанный номер недействителен для этой команды [закрыто]

Экспортированные переменные и переменные, установленные в той же командной строке, видны программе:

$ cat foo.sh
#!/bin/sh
echo "$foo"

$ foo=bar ./foo.sh
bar

$ export foo=bar
$ ./foo.sh
bar

Но более распространенной идиомой было бы использование аргументов командной строки, им присваиваются позиционные параметры $1, $2 и т. д.

$ cat arg.sh
#!/bin/sh
echo "$1 and $2"

$ ./arg.sh alpha beta
alpha and beta

Или используйте "$@" для получения всех аргументов командной строки, возможно, после использования shift для удаления некоторых фиксированных с самого начала . Для именованных аргументов вероятно, лучше использовать getopt (справочная страница) или getopts (POSIX, tutorial в bash-hackers.org ).

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

1
13.09.2015, 16:24
0 ответов

Теги

Похожие вопросы