Számos esetben lehet szükség rá hogy a felhasználó a terminálról adjon meg adatot. Van erre néhány recept, ezek közül való a következő:
#!/bin/bash echo Mi a neved? read NEV echo "Helló $NEV!"
Egy másik variáció amikor több adatot kérdezünk egyetlen paranccsal. Ez így néz ki:
#!/bin/bash echo Légy szíves, írdd be a vezeték- és kersztneved read VN KN echo "Helló! $VN, $KN !"
Egy parncssorban vagy közvetlen a terminálról próbáld ezt ki:
echo 1 + 1
Csalódnol kell a '2' -re hiába vártál. Hogyan vegyed rá a BASH hogy számoljon neked? A megoldás ez:
echo $((1+1))
Így már értelmezhető a kívánság. A számolási művelet elvégződik. Ezzel a formulával is dolgozhatsz:
echo $[1+1]
Ha törtszámokkal kell dolgoznod, vagy összetettebb matematikai feladatod van, használhatod a bc parancsot a végreahajtáshoz.
Például ha a "echo $[3/4]" parancsot gépeled be az eredmény 0 lesz, merta bash integerekben gondolkodik. A helyes eredményt (0.75) a "echo 3/4|bc -l" paranccsal érheted el.
Egy üzenet Mike-tól (ezúton is köszönet érte):
Mindíg ezt írod #!/bin/bash .. de jó lenne tudni hogyan találjuk meg a bash helyét.
#!/bin/bash - Ez a hely csak alapértelmezés, tehát nem feltétlenül igaz.
'find ./ -name bash' parancs adhat valós eredményt.
A lehetséges helyeket így nézheted még meg:
ls -l /bin/bash
ls -l /sbin/bash
ls -l /usr/local/bin/bash
ls -l /usr/bin/bash
ls -l /usr/sbin/bash
ls -l /usr/local/sbin/bash
(nem hinném hogy más könyvtárba is lehetne ... Én még minden általam használt környezetben ezeken a helyeken rátaláltam.)
Próbálkozhatsz ezzel is: 'which bash'.
Bash környezetben a visszatérési érték a $? változóban van tárolva.
Így veszem át a visszatérési értéket egy porgramból. A hivatkozott dada könyvtár nem létezik. (Ismét Mike az ötletgazda)
This illustrates how to capture the return value of a program, I assume that the directory dada does not exist. (This was also suggested by mike)
#!/bin/bash cd /dada &> /dev/null echo vi. érték: $? cd $(pwd) &> /dev/null echo vi. érték: $?
Ez a kis szkript megjeleníti minden létező adatbázis minden adattábláját (működő MySQL esetén). Szintén szükséges érvényes felhasználó és jelszó megadása a 'mysql' parancs működéséhez.
#!/bin/bash DBS=`mysql -uroot -e"show databases"` for b in $DBS ; do mysql -uroot -e"show tables from $b" done
Lehetőséged van összett állományok használatára a parancskódban
__KÉ-SZÜL....__