Как передать аргументы в сценарий оболочки? - PullRequest
8 голосов
/ 03 марта 2009

У меня есть такой командный файл:

java temptable %1 %2

Мне нужен эквивалентный сценарий оболочки для вышеперечисленного. Я передам аргументы скрипту оболочки, и это должно быть передано в temptable.

Ответы [ 2 ]

17 голосов
/ 03 марта 2009

Для bash (это одна оболочка, но, вероятно, самая распространенная в мире Linux), эквивалент:

java temptable $1 $2

при условии, что в аргументах нет пробелов. Если есть пробелы, вы должны указать свои аргументы:

java temptable "$1" "$2"

Вы также можете сделать:

java temptable $*

или

java temptable "$@"

если вы хотите, чтобы все параметры были переданы (опять же, этот второй эквивалентен заключению в кавычки каждого из параметров: "$ 1" "$ 2" "$ 3" ...).

8 голосов
/ 19 марта 2010
#!/bin/bash
# Call this script with at least 3 parameters, for example
# sh scriptname 1 2 3
echo "first parameter is $1"
echo "Second parameter is $2"
echo "Third parameter is $3"
exit 0

Выход:

[root@localhost ~]# sh parameters.sh 47 9 34
first parameter is 47
Second parameter is 9
Third parameter is 34
...