Bash Unix变量用法

Bash Unix变量用法,bash,unix,Bash,Unix,如果我有2个变量,其值分配如下- a=1; s1=555 我们是否可以使用以下方式打印555: $ echo $s`echo $a` 。。。?我的要求是在第二个变量中使用变量“a”来打印s1的最终值 我已经试过了,但失败了。有办法吗 谢谢。Bash具有用于间接评估支持的本机语法: a=1 s1=555 varname="s$a" echo "${!varname}" 具体是哪个贝壳?ksh或bash有比POSIX sh更好的答案……顺便说一句,这是BashFAQ的主题#6:谢谢。这个链接

如果我有2个变量,其值分配如下-

a=1; s1=555
我们是否可以使用以下方式打印555:

$ echo $s`echo $a`
。。。?我的要求是在第二个变量中使用变量“a”来打印s1的最终值

我已经试过了,但失败了。有办法吗


谢谢。

Bash具有用于间接评估支持的本机语法:

a=1
s1=555

varname="s$a"
echo "${!varname}"

具体是哪个贝壳?ksh或bash有比POSIX sh更好的答案……顺便说一句,这是BashFAQ的主题#6:谢谢。这个链接很有帮助。然后你的问题应该被标记为
bash
。在bash中,
v=“s${a}”;echo${!v}
。旧方法是
eval echo“\$s$a”
,但如果您有其他选择(
eval
很危险),则不建议使用这种方法。感谢您的快速响应。成功了。:-)