Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Bash 如果值是另一个shell变量,如何获取shell变量展开_Bash_Shell - Fatal编程技术网

Bash 如果值是另一个shell变量,如何获取shell变量展开

Bash 如果值是另一个shell变量,如何获取shell变量展开,bash,shell,Bash,Shell,这会打印出来 level_1="hi hello" level_2="hey " level_3="whatsup howdy" echo ${!level*} for i in ${!level*};do j="\$$i" echo $j done 我希望打印$level_1或$level_2的值 任何指向如何实现这一点的指针。您可以使用${!variable}来实现: level_1 level_2 level_3 $level_1 $level_2 $level_3 这将提供

这会打印出来

level_1="hi hello"
level_2="hey "
level_3="whatsup howdy"
echo ${!level*}

for i in ${!level*};do
  j="\$$i"
  echo $j
done
我希望打印$level_1或$level_2的值


任何指向如何实现这一点的指针。

您可以使用
${!variable}
来实现:

level_1 level_2 level_3
$level_1
$level_2
$level_3
这将提供所需的输出:

for i in ${!level*};do
  j=${!i}
  echo $j
done

谢谢,我又找到了一个使用eval的解决方案。。。对于${!level*}中的i;do j=“\$$i”eval”echo$j”完成
hi hello
hey
whatsup howdy