我正在尝试打印一个包含小数点数字的文件名......说
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 等是整数而不是浮点数时才有效....
我希望这有帮助:
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)