180 likes | 362 Views
OS haldamine. Allan Liblik. valik - case. case word in value_1 ) command_1 command_n ;; value_2 ) command_1 command_n ;; * ) command_1 command_n ;; esac. tsüklid - while. while – läbitakse kui tingimus on tõene while [ test_condition ] do command_1 command_n done.
E N D
OS haldamine Allan Liblik
valik - case casewordin value_1) command_1 command_n ;; value_2) command_1 command_n ;; *) command_1 command_n ;; esac
tsüklid - while while – läbitakse kui tingimus on tõene while [ test_condition ] do command_1 command_n done
while näide failist lugemiseks • while read muutuja; do echo “Loetud rida on: “ $muutujadone < sisendfail
tsüklid - until until – läbitakse kui tingimus on väär until [ test_condition ] do command_1 command_n done
Funktsioonid • funktsiooninimi (){ echo “siit algab funktsioon”# Siin muud kasudreturn 0 # selline on tagastustulemus} # Kasutamine skripti seesfunktsiooninimi $muutuja_1 muutuja_2
HERE fail • cat <<yks_opetusSiin tuleb jutt, mis kuvatakse ekraanile,See on pikem kui rida – paar.Ekraanile kuvatakse kogu faili sisu kuni HEREfaili lopumargistuseni. Lopumargistuseks on just see sona, mis kahe noolekese taha alguses kirjutasimeyks_opetusecho “siit jargneb skript...”
E-posti saatmine • Käsk mail • echo “see on teade” | mail -s “kirja subjekt” saaja@eposti.aadress • cat fail | mail -s “kirja subjekt” saaja@eposti.aadress
Keskkonnamuutujad bash: a=123 b=456 export a b c=789; export c export d=123456 csh: setenv muutuja vaartus eemaldamine: unset muutuja
Jooksva keskkonna muutujad source skriptinimi . skriptinimi if [ -f ~/.bashrc ]; then . ~/.bashrc fi
Shelli käivitamine Bourne shelllogin: .profile muidu: ei midagi Korn shell: login: .profile muidu: startup ENV muutujast, kui see on fail, siis see käivitatakse, kui kataloog, siis otsitakse sealt faili ksh_env
Shellide käivitamine C shell: login: /etc/csh.cshrc, /etc/csh.login, ~/.cshrc, ~/.login, väljumisel /etc/csh.logout ja ~/.logout muidu: /etc/csh.cshrc ja ~/.cshrc
Bash: login: /etc/profile, esimene valik (~/.bash_profile, ~/.bash_login, ~/.profile), väljumisel ~./bash_logout muidu: interaktiivsena ~/.bashrc, mitte IA-na BASH_ENV muutujast
Hoiatus! Keskkonda on tore kujundada kuid ärge kunagi kirjutage skripte mis sõltuks keskkonnakujundusest – need skriptid ei pruugi alati toimida.
Interpretaatori määramine #!/tee_interpretaa_torini #!/usr/local/bin/bash #!/bin/sh #!/bin/ksh #!/usr/bin/perl
SSH ja käsud “teises masinas” • root@robert 4.5# ssh allan@zeus.vkhk.ee "df -k" • allan@zeus.vkhk.ee's password: • Filesystem 1K-blocks Used Avail Capacity Mounted on • /dev/wd0a 401448 133854 247522 35% / • /dev/wd0g 54774850 23269640 28766468 45% /home • /dev/wd0d 503902 6 478702 0% /tmp • /dev/wd0f 10323146 1634174 8172816 17% /usr • /dev/wd0e 10323146 6860056 2946934 70% /var • root@robert 4.5# df -k • Filesystem 1K-blocks Used Avail Capacity Mounted on • /dev/wd0a 1032528 85778 895124 9% / • /dev/wd2a 153817724 100492848 45633990 69% /backup • /dev/wd1a 153815172 117385482 28738932 80% /data • /dev/sd0a 142920228 47498816 88275402 35% /home • /dev/wd0e 15486368 2734984 11977066 19% /tftpboot • /dev/wd0f 10323146 2088 9804902 0% /tmp • /dev/wd0d 10323146 2531774 7275216 26% /usr • /dev/wd0g 35604360 9052184 24771958 27% /var • root@robert 4.5#
SSH “teises masinas” jätkub... • ssh root@$sihtmasin "gtar czPf - $i \--ignore-case --exclude-from=$valistatud“\ > $fail 2>> $kirjasisufail • /usr/local/bin/gtar czPf - --ignore-case \--exclude-from=$valistatud $i 2>$ajutinefail | \ssh $sihtmasina_kasutaja@$sihtmasin \"cat - > $sihtfail "
arhiveerimine - tar tar czvf koopia.fail.tar.gz /home tar xzvf koopia.fail.tar.gz p, t