如何在Bash中获取n
位置参数,其中n
是可变的?
答案 0 :(得分:94)
使用Bash的间接功能:
#!/bin/bash
n=3
echo ${!n}
运行该文件:
$ ./ind apple banana cantaloupe dates
产地:
cantaloupe
修改:
您也可以进行数组切片:
echo ${@:$n:1}
但不是数组下标:
echo ${@[n]} # WON'T WORK
答案 1 :(得分:10)
如果N
保存在变量中,请使用
eval echo \${$N}
如果它是一直使用
echo ${12}
因为
echo $12
并不代表相同!
答案 2 :(得分:6)
$1 $2 ... $n
$0
包含脚本的名称。
答案 3 :(得分:0)
正如您在Bash by Example中所看到的,您只需要使用自动变量$ 1,$ 2等。
$#用于获取参数的数量。
答案 4 :(得分:-1)