Naprej Nazaj Kazalo

10. Razno

10.1 Branje uporabnikovega vnosa z read

Gotovo boste kdaj ž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 taka:

echo $((1+1))

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

echo $[1+1]

Če so v vaših računih ulomki ali težja matematika, 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 pravilni rezultat bo treba pognati "echo 3/4|bc -l", kar bo vrnilo pravilen rezultat - 0,75.

10.3 Iskanje bash

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

Zgledi 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 na enem od navedenih mest.

Lahko poskusite tudi 'which bash'.

10.4 Vrnjena vrednost programa

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

Naslednji zgled prikazuje, kako ugotoviti vrnjeno vrednost programa; predpostavljam, da imenika dada ni. (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 kratki skript izpiše vse tabele iz vseh zbirk podatkov (če imate seveda nameščen MySQL). Popraviti morate ukaz mysql, da bo v njem veljavno uporabniško ime in 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č izvirnih datotek

Več izvirnih datotek lahko uporabite z ukazom source.

__TO-DO__


Naprej Nazaj Kazalo