/ / pre slučku v Bash zdvojnásobenie hodnoty kroku zakaždým - bash, for-loop

pre slučku v Bash zdvojnásobenie hodnoty kroku zakaždým - bash, for-loop

nasledujúce toto základný návod na bash slučky som napísal nasledujúci skript:

#!/bin/bash
# since Bash v4

i=16
max=256

while [  $i -le $max ]; do
echo $i
let i=i*2
done

Ale keďže to považujem za hrozné (ja som čistý while hater), existuje nejaký spôsob, ako napísať niečo podobné:

#!/bin/bash
# since Bash v4

start = 16
max = 256

for i in {start..max..i*2}
do
echo $i
done

odpovede:

5 pre odpoveď č. 1

Môžete použiť a for slučka:

for ((i = 16; i <= 256; i = i * 2)); do
echo "$i"
done

Dáva tento výstup:

16
32
64
128
256