作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想检索 $@ 的第 n 个参数(传递给脚本的命令行参数列表),其中 n 存储在一个变量中。
我尝试了 ${$n}。
例如,我想获取调用的第二个命令行参数:
./my_script.sh alpha beta gamma
并且索引不应该是显式的,而是存储在变量 n 中。
源代码:
n=2
echo ${$n}
我希望输出是“测试版”,但我得到了错误:
./my_script.sh: line 2: ${$n}: bad substitution
我做错了什么?
最佳答案
您可以使用变量间接。它独立于数组,并且在您的示例中运行良好:
n=2
echo "${!n}"
编辑: 可变间接 可以在很多情况下使用。如果有一个变量 foobar
,那么下面两个变量展开会产生相同的结果:
$foobar
name=foobar
${!name}
关于BASH 脚本 : n-th parameter of $@ when the index is a variable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10749976/
我是一名优秀的程序员,十分优秀!