Как получить N-й позиционный аргумент в bash?
Как получить n - й позиционный аргумент в bash?
спасибо.
Edit: Я забыл сказать, но я имел в виду, что n - Это переменная.
5 ответов:
используйте косвенную функцию Bash:
#!/bin/bash n=3 echo ${!n}запуск этого файла:
$ ./ind apple banana cantaloupe datesвыдает:
cantaloupeEdit:
вы также можете сделать массив нарезки:
echo ${@:$n:1}но не массив индексов:
echo ${@[n]} # WON'T WORK
если
Nсохраняется в переменной, используйтеeval echo ${$N}если это постоянное использование
echoС
echoне означает то же самое!
Как вы можете видеть в разделе Bash на примере, вам просто нужно использовать автоматические переменные $1, $2, и так далее.
$# используется для получения количества аргументов.
читать
обработка позиционных параметров
и
$0: первый позиционный параметр
$1 ... $9: элементы списка аргументов от 1 до 9