Tovább Vissza Tartalom


10. Vegyes felvágott

10.1 Adatbevitel a read paranccsal

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 !"
        

10.2 Számolási műveletek

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.

10.3 Hol a bash?

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'.

10.4 Hozzáférés a program visszatérési értékéhez.

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: $?
        

10.5 Parancs kimenet átvétele

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
        

10.6 Összetett forrásállományok

Lehetőséged van összett állományok használatára a parancskódban

__KÉ-SZÜL....__


Tovább Vissza Tartalom