shell脚本中的指针?

gfo*_*e89 2 bash shell

我正在尝试打印一个包含小数点数字的文件名......说

 L2.3stop.txt
Run Code Online (Sandbox Code Playgroud)

我有变量定义为:

 z1=2.3
 z2=3.4
 z3=7.8
 z4=8.9
Run Code Online (Sandbox Code Playgroud)

等等

在 for 循环中,我从 1 到 5

如果我这样做,则在循环内

 temp=`echo z$i`
Run Code Online (Sandbox Code Playgroud)

然后我使用打印文件名

 echo L${temp}stop.txt
Run Code Online (Sandbox Code Playgroud)

它只是打印

 Lz1stop.txt
 Lz2stop.txt
Run Code Online (Sandbox Code Playgroud)

等等..

如何打印所需的文件名....

我也尝试使用

 echo L$((z$i))stop.txt
Run Code Online (Sandbox Code Playgroud)

但这仅在 z1、z2、z3 等是整数而不是浮点数时才有效....

Ken*_*ent 5

我希望这有帮助:

z1=2.3
z2=3.4
z3=7.8
z4=8.9

for i in {1..4};do
        echo L$(eval "echo \$z"$i)stop.txt
done
Run Code Online (Sandbox Code Playgroud)

或者这也应该有效:

for i in {1..4};do
    echo L$(echo $(echo "\$z$i"))stop.txt
done
Run Code Online (Sandbox Code Playgroud)

输出:

L2.3stop.txt
L3.4stop.txt
L7.8stop.txt
L8.9stop.txt
Run Code Online (Sandbox Code Playgroud)