Mint bármely programnyelvben használhatsz változókat. A változók adattípusa nem kötött. A bash változói tartalmazhatnak számokat, karaktert és karakterekből álló sztringet.
Nem kell változót deklarálnod, csak egyszerűen értéket rendelsz hozzá és a változó használható.
#!/bin/bash STR="Hello World!" echo $STR
A 2. sorban létrejön az STR változó értéke a "Hello World!" szöveg lesz. Ezután a változó értékére a neve elé írt '$' jellel hivatkozhatunk. Ha nem írsz '$' jelet a név elé az eredmény más lesz és nem biztos hogy a kívánt hatást éred el. Javaslom kipróbálásra is!
#!/bin/bash OF=/var/my-backup-$(date +%Y%m%d).tgz tar -cZf $OF /home/me/
A szkript egy másik különlegességgel is szolgál. Mindenekelőtt nézzük a változó készítést és értékadást a 2. sorban. Itt van amit beharangoztam '$(date +%Y%m%d)'. A szkript futtatáskor a zárójelbeli parancs lefut és eredménye a helyére kerül.
Vedd észre hogy a szkripttel készülő archív állomány minden nap más nevet kap a formátum mintás date parancsnak köszönhetően. Ha éppen úgy gondolod a dátum formátumot ki is cserélheted.
Néhány példa még:
echo ls
echo $(ls)
A helyi változók a local kulcsszóval hozhatók létre.
#!/bin/bash HELLO=Hello function hello { local HELLO=World echo $HELLO } echo $HELLO hello echo $HELLO
A példa - a helyi változók használatáról - magáért beszél.