如何获得nth位置参数在bash,那里n是变量?

有帮助吗?

解决方案

使用bash的间接特性:

#!/bin/bash
n=3
echo ${!n}

运行该文件:

$ ./ind apple banana cantaloupe dates

产地:

cantaloupe

修改

您也可以做阵列切片:

echo ${@:$n:1}

但不是数组下标:

echo ${@[n]}  #  WON'T WORK

其他提示

如果N保存在变量,可以使用

eval echo \${$N}

如果这是一个常量使用

echo ${12}

因为

echo $12

并不意味着同样的!

$1 $2 ... $n

$0包含脚本的名称。

可以在通过实施例的击看到 ,你只需要使用自动变量$ 1,$ 2,依此类推。

$#用来获取的参数的数目。

处理位置参数

参数扩展

$ 0:第一位置参数

$ 1 ... $ 9:1参数列表元素9

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top