按照这个关于bash循环的基础教程,我编写了以下脚本:
#!/bin/bash
# since Bash v4
i=16
max=256
while [ $i -le $max ]; do
echo $i
let i=i*2
done
Run Code Online (Sandbox Code Playgroud)
但既然我觉得这很可怕(我是一个纯粹的while仇恨者),有什么方法可以写出与此类似的东西:
#!/bin/bash
# since Bash v4
start = 16
max = 256
for i in {start..max..i*2}
do
echo $i
done
Run Code Online (Sandbox Code Playgroud)
你可以使用一个for循环:
for ((i = 16; i <= 256; i = i * 2)); do
echo "$i"
done
Run Code Online (Sandbox Code Playgroud)
给出这个输出:
16
32
64
128
256
Run Code Online (Sandbox Code Playgroud)