Mai jos, câteva „facts” despre variabile în bash (și nu numai).
Constante:
readonly x=12
(alternativ declare -r)
În bash o variabilă numerică este mereu int.
x=$((5/2)
echo $x # output 2
((x++)) # incrementare cu 1
((x+=5)) # incrementare cu 5
Bash nu știe, știe doar int. Pentru a lucra cu float, una din variante este utilizarea lui bc.
y=$((1/3)) # y=0
y=$(echo 1/3 | bc-l) # y=0.33333333333333333333
În acest caz, y este tratat ca un șir, nu un float.
Quoting
Double quotes fac substituția variabilei, single quotes nu.
x="bla bla"
echo "$x" # bla bla
echo '$x" # $x
Sintaxa completă și corectă de utilizare a unei variabile este ${x} (deci folosind {}). Această sintaxă face diferența într-o situație de genul:
echo ${x}_bla #bla
unde echo $x_bla nu va returna nimic.
Variable expansion {}
echo {1,2,5} # 1 2 5
echo {1..5} # 1 2 3 4 5
echo {a..g} # a b c d e f g
De aici și varianta “elegantă” de cp sau mv, de ex:
cp src{,.dest} # cp src dest
mv unfisier{,.bak} # mv unfisier{ unfisier{.bak
Cam atât, mai departe scrie-n carte (man) sau pe net.
Text și cod preluate de pe Facebook.