Tutorial by Examples

i=0 while read -r line; do i=$((i+1)) done < file echo $i With a file containing: Alpha Beta Gamma Delta Epsilon The above script prints: 5
Loop n times: while [ $((i=${i:=0}+1)) -le "$n" ]; do echo line $i done Output for n=5: line 1 line 2 line 3 line 4 line 5 Manipulating decimals: $ i=3.14159; echo $((${i%.*}*2)) 6 $ i=3.14159; echo $((${i#*.}*2)) 28318
Absolute value: $ for n in -8 -2 0 3 4; do > echo $((n<0?-n:n)) > done 8 2 0 3 4 Fix variable range: $ min=2 $ max=4 $ for n in 1 2 3 4 5; do > echo $((n<min?min:n>max?max:n)) > done 2 2 3 4 4
$ ispow2() { return $((!($1!=0&&($1&$1-1)==0))); } $ i=0 $ while [ $i -lt 100 ]; do > if ispow2 $((i=i+1)); then > echo $i > fi > done 1 2 4 8 16 32 64 $1!=0 0 is not a power of 2. ($1&$1-1)==0 Unset the lowest bit. If it was the only bit...

Page 1 of 1