Naprej Nazaj Kazalo

10. Razno

10.1 Branje uporabnikovega vnosa z read

Gotovo bodo priložnosti, ko boste želeli, da uporabnik kaj vpiše. Tole je eden od možnih načinov:

                #!/bin/bash
                echo Vnesite svoje ime
                read IME
                echo "Zdravo, $IME!"
        

Z read lahko dobite tudi več vrednosti hkrati:

                #!/bin/bash
                echo Vnesite svoje ime in priimek
                read IME PRIIMEK
                echo "Zdravo, $PRIIMEK $IME!"
        

10.2 Računanje

V ukazni vrstici poskusite tole:

echo 1 + 1

Če ste pričakovali, da boste dobili '2', boste nekoliko razočarani. Kaj storiti, če želite, da vam BASH pomaga izračunati nekaj računov? Rešitev je takšna:

echo $((1+1))

Ta ukaz bo dal bolj 'smiseln' izpis. Isto lahko dosežete tudi takole:

echo $[1+1]

V primeru, da vaši računi vsebujejo ulomke ali težjo matematiko, lahko za računanje uporabite program bc.

Če na primer v ukazni vrstici poženete "echo $[3/4]", boste dobili rezultat 0, ker bash pri izračunih uporablja le cela števila. Za pravilen rezultat bo treba pognati "echo 3/4|bc -l", kar bo vrnilo pravilen rezultat - 0,75.

10.3 Iskanje bash

Mike (glejte Zahvale) v sporočilu piše:

Primeri vedno uporabljajo #!/bin/bash .. morda bi lahko navedel navodilo kako najti bash, če ga ni na tem mestu.

Še najbolje je uporabiti 'locate bash', vendar vsi sistemi nimajo programa locate.

'find ./ -name bash' v korenskem imeniku je navadno prav tako učinkovit.

Mesta, ki jih preverite:

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

(več mest se trenutno ne morem domisliti... sicer pa sem bash po različnih sistemih našel v enem od navedenih mest.

Lahko poskusite tudi 'which bash'.

10.4 Vrnjena vrednost programa

Bash shrani vrnjeno vrednost programa v posebno spremenljivko z imenom $?.

Sledeči primer prikazuje kako ugotoviti vrnjeno vrednost programa; predpostavljam, da imenik dada ne obstaja. (Tudi tole je predlagal mike.)

        #!/bin/bash
        cd /dada &> /dev/null
        echo vv: $?
        cd $(pwd) &> /dev/null
        echo vv: $?
        

10.5 Zajemanje izhoda ukaza

Ta kratek skript izpiše vse tabele iz vseh podatkovnih baz (če imate seveda nameščen MySQL). Popraviti morate ukaz mysql, da bo vseboval veljavno uporabniško ime ter geslo.

        #!/bin/bash
        DBS=`mysql -uroot  -e"show databases"`
        for b in $DBS ;
        do
                mysql -uroot -e"show tables from $b"
        done
        

10.6 Več izvornih datotek

Več izvornih datotek lahko uporabite z ukazom source.

__TO-DO__


Naprej Nazaj Kazalo