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!"
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.
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'.
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: $?
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
Več izvirnih datotek lahko uporabite z ukazom source.
__TO-DO__