如何在这个变量[LinuxBash]中获得这个值
我可以在这个变量[LinuxBash]中得到这个值吗 我的代码 结果:1 我需要结果:text技巧是eval如何在这个变量[LinuxBash]中获得这个值,linux,bash,Linux,Bash,我可以在这个变量[LinuxBash]中得到这个值吗 我的代码 结果:1 我需要结果:text技巧是eval eval user$COUNTER=text 输出: /home/shellter:>eval "user$COUNTER"=text /home/shellter:>echo $user1 text Eval对命令行上的任何可见变量执行变量求值,然后将结果“重新提交”到正常的命令行求值和处理 通过使用set-vx打开shell调试,您可以看到这种情况的发生(一旦您使用了
eval user$COUNTER=text
输出:
/home/shellter:>eval "user$COUNTER"=text
/home/shellter:>echo $user1
text
Eval对命令行上的任何可见变量执行变量求值,然后将结果“重新提交”到正常的命令行求值和处理
通过使用set-vx
打开shell调试,您可以看到这种情况的发生(一旦您使用了一段时间,它就会变得很明显)
我希望这有帮助
另外,作为一个新用户,如果你得到了一个有助于你的答案,请记住将其标记为已接受,并/或给它一个+(或-)作为一个有用的答案。一般来说,使用你想要的动态变量名只会让你的生活更加困难。数组更容易使用(即使在bash中,它的语法也很挑剔:
#!/bin/bash
counter=1
declare -a user # this line is optional
user[$counter]=text
echo "${user[$counter]}"
您还需要
eval echo$user$COUNTER
——您必须在任何时候取消引用“复合”变量时进行求值。
#!/bin/bash
counter=1
declare -a user # this line is optional
user[$counter]=text
echo "${user[$counter]}"