gpt4 book ai didi

BASH 脚本 : n-th parameter of $@ when the index is a variable?

转载 作者:行者123 更新时间:2023-11-29 08:48:39 24 4
gpt4 key购买 nike

我想检索 $@ 的第 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com