Če se želite naučiti nečesa, morate to narediti, brez strahu, da boste neuspešni. Verjamem v praktičnost in vas bom zato spremljal v praktičnem svetu skriptnega jezika.
Ta članek je razširitev našega prvega članka Razumevanje Linux Shell in Basic Shell Scripting - I. del, kjer smo vam dali okus Skriptiranja in nadaljevali, da vas v tem članku ne bomo razočarali.
#!/bin/bash. MAX_NO = 0. echo -n "Vnesite številko med (5 do 9):" preberi MAX_NO. če! [$ MAX_NO -ge 5 -a $ MAX_NO -le 9]; nato odmevaj "WTF... Prosim, da vnesete številko med 5 in 9, Poskusite znova "izhod 1. fi. jasno. za ((i = 1; i <= MAX_NO; i ++)) naredi za ((s = MAX_NO; s> = i; s--)) naredi echo -n "" za ((j = 1; j <= i; j ++)) naredi echo -n "." done echo "" done ###### Druga stopnja ###################### za ((i = MAX_NO; i> = 1; jaz-- )) naredi za ((s = i; s <= MAX_NO; s ++)) do echo -n "" storjeno za ((j = 1; j <= i; j ++)) naredi echo -n "." opravljen odmev "" Končano. echo -e "\ n \ n \ t \ t \ t Kadarkoli potrebujete pomoč, je Tecmint.com vedno tam"
Večina zgoraj naštetih "ključne besede"Bi vam bilo znano in večina jih je samoumevnih. npr. MAX nastavi največjo vrednost spremenljivke, for je zanka in vse v zanki se vedno znova izvaja, dokler zanka ne velja za podano vrednost vnosa.
[[zaščiteno po e -pošti] ~]# chmod 755 Special_Pattern.sh. [[zaščiteno po e -pošti] ~]# ./Special_Pattern.sh. Vnesite številko med (5 do 9): 6... .... .... .... .... .... .... .... .... .... ... Kadarkoli potrebujete pomoč, je Tecmint.com vedno tam
Če se malo zavedate katerega od programskih jezikov, učenje zgornjega skripta ni težko, tudi če ste šele na začetku računanja, programiranja in Linuxa, to ne bo veliko težko.
Prenesite Special_Pattern.sh
Kdo pravi, Linux je brezbarven in dolgočasno, spodnje kode shranite na karkoli [pika] sh, naredite izvedljivo in jo zaženite, ne pozabite mi povedati, kako je bilo, pomislite, kaj lahko dosežete, in to nekje implementirajte.
#!/bin/bash. jasen odmev -e "33 [1m Hello World" # krepki učinek. echo -e "33 [5m utripanje" # učinek utripanja. echo -e "33 [0m Hello World" # nazaj v normalno stanje. echo -e "33 [31m Hello World" # Rdeča barva. echo -e "33 [32m Hello World" # Zelena barva. echo -e "33 [33m Hello World" # Oglejte si preostalo na zaslonu. echo -e "33 [34m Hello World" echo -e "33 [35m Hello World" echo -e "33 [36m Hello World" echo -e -n "33 [0m" # nazaj v normalno stanje. echo -e "33 [41m Hello World" echo -e "33 [42m Hello World" echo -e "33 [43m Hello World" echo -e "33 [44m Hello World" echo -e "33 [45m Hello World" echo -e "33 [46m Hello World" echo -e "33 [0m Hello World"
Opomba: Zdaj se ne obremenjujte z barvno kodo, tiste, ki so vam pomembne, vam bodo postopoma na jeziku.
Opozorilo: Morda vaš terminal ne utripa.
[[zaščiteno po e -pošti] ~]# chmod 755 Colorfull.sh. [[zaščiteno po e -pošti] ~]# ./Colorfull.sh Pozdravljen, svetUtripajPozdravljen, svetPozdravljen, svetPozdravljen, svetPozdravljen, svetPozdravljen, svetPozdravljen, svetPozdravljen, svetPozdravljen, svetPozdravljen, svetPozdravljen, svetPozdravljen, svetPozdravljen, svetPozdravljen, svetPozdravljen, svet
Prenesite Colorfull.sh
Ta skript bo šifriral datoteko mapa (se spomniš? imenik/voznik/…. vse se obravnava kot datoteka, v Linux). Trenutna omejitev zgornjega skripta je, da ne podpira samodejnega dokončanja uporabe imena TAB. Poleg tega morate skript in datoteko za šifriranje postaviti v isto mapo. Morda boste morali namestiti »pinentry-gui”, Z uporabo yum ali apt paket, če je potrebno.
[[zaščiteno po e -pošti] ~]# yum install pinentry-gui. [[zaščiteno po e -pošti] ~]# apt-get install pinentry-gui
Ustvarite datoteko z imenom »Encrypt.sh”In postavite naslednji skript, ga izvedite in zaženite, kot je prikazano.
#!/bin/bash. echo "Dobrodošli, pripravljen sem šifrirati datoteko/mapo za vas" echo "trenutno imam omejitev, postavi me v isto mapo, kjer je datoteka za šifriranje" echo "Vnesite natančno ime datoteke s pripono" branje datoteke; gpg -c $ datoteko. echo "Uspešno sem šifriral datoteko ..." echo "Zdaj bom odstranil izvirno datoteko" rm -rf $ datoteka
[[zaščiteno po e -pošti] ~]# chmod 755 Encrypt.sh. [[zaščiteno po e -pošti] ~]# ./Encrypt.sh Dobrodošli, pripravljen sem šifrirati datoteko/mapo za vas. trenutno imam omejitev, postavi me v isto mapo, kjer je datoteka za šifriranje. Vnesite točno ime datoteke s pripono package.xml ┌──────────────────────────────────── ──────────────┐ │ Vnesite geslo │ │ │ │ │ │ Geslo ******* _________________________________ │ │ │ │? ─────┘ Znova vnesite to geslo ┌───────────────────────────────────────────── ────┐ │ Prosimo, znova vnesite to geslo │ │ │ │ Geslo ********________________________________ │ │ │ │ ? ─────┘ Datoteko sem uspešno šifriral... Zdaj bom odstranil prvotno datoteko.
gpg -c: To bo šifriralo vašo datoteko z geslom geslo. V tem procesu učenja si nikoli ne bi mislili, da bi bil dejanski proces učenja lahko tako enostaven. Kaj torej potrebujete po šifriranju datoteke? Očitno! dešifriranje datoteke. In želim, da učenec, bralec sami napišete skript za dešifriranje, ne skrbite, ne bom vas pustil na sredini, samo želim, da s tem člankom nekaj pridobite.
Opomba: gpg -d ime datoteke.gpg > Ime datoteke je tisto, kar morate implementirati v skript za dešifriranje. Če je uspešen, lahko svoj scenarij objavite v komentarju, če ne, me lahko prosite, da ga napišem namesto vas.
Prenesite Encrypt.sh
Preverjanje uporabe strežnika je ena pomembnih nalog skrbnika, dober skrbnik pa je tisti, ki zna avtomatizirati svoje vsakodnevno opravilo. Spodaj je skript, ki bo dal veliko takšnih informacij o vašem strežniku. Preverite sami.
#!/bin/bash datum; echo "uptime:" uptime echo "Trenutno povezan:" w echo "" echo "Zadnja prijava:" last -a | head -3 echo "" echo "Uporaba diska in pomnilnika:" df -h | xargs | awk '{print "Brezplačno/skupaj disk: "$ 11" /"$ 9} 'free -m | xargs | awk' {print" Prost /skupni pomnilnik: "$ 17" /"$ 8" MB "} 'echo" "start_log =` head -1 /var /log /messages | cut -c 1-12` oom = `grep -ci kill /var/log/messages` echo -n "OOM napake od $ start_log:" $ oom echo "" echo "" echo "Uporaba in najdražji procesi:" top -b | head -3 echo top -b | head -10 | rep -4 echo "" echo "Odprite vrata TCP:" nmap -p- -T4 127.0.0.1 echo "" echo "Trenutne povezave:" ss -s echo "" echo "procesi:" ps auxf --width = 200 echo "" echo "vmstat:" vmstat 15
[[zaščiteno po e -pošti] ~]# chmod 755 Server-Health.sh. [[zaščiteno po e -pošti] ~]# ./Server-Health.sh torek, 16. julij 22:01:06 IST 2013. uptime: 22:01:06 up 174 dni, 4:42, 1 uporabnik, povprečna obremenitev: 0,36, 0,25, 0,18. Trenutno povezan: 22:01:06 gor 174 dni, 4:42, 1 uporabnik, povprečna obremenitev: 0,36, 0,25, 0,18. UPORABNIK TTY FROM [zaščiteno po e -pošti] IDLE JCPU PCPU KAJ. tecmint pts/0 116.72.134.162 21:48 0.00s 0.03s 0.03s sshd: tecmint [priv] Zadnja prijava: tecmint pts/0 Torek 16. julij 21:48 še vedno prijavljeni 116.72.134.162. tecmint pts/0 Torek 16. julij 21:24 - 21:43 (00:19) 116.72.134.162. Uporaba diska in pomnilnika: Prosti / celoten disk: 292G / 457G. Prosti / skupni pomnilnik: 3510 /3838 MB. Napake OOM od 14. julija 03:37: 0. Uporaba in najdražji procesi: zgoraj - 22:01:07 gor 174 dni, 4:42, 1 uporabnik, povprečno obremenitev: 0,36, 0,25, 0,18. Naloge: skupaj 149, 1 teče, 148 spi, 0 ustavljeno, 0 zombi. CPU (i): 0,1%us, 0,0%sy, 0,0%ni, 99,3%id, 0,6%wa, 0,0%hi, 0,0%si, 0,0%st PID USER PR NI VIRT RES SHR S%CPU%MEM TIME+ COMMAND 1 koren 20 0 3788 1128 932 S 0,0 0,0 0: 32,94 init 2 koren 20 0 0 0 0 S 0,0 0,0 0: 00,00 kthreadd 3 koren RT 0 0 0 0 S 0,0 0,0 0: 14,07 selitev/0
Opomba: Dal sem vam skript, ki daje izhod v samem terminalu. Kaj pa, če bi dobili izhod v datoteko za prihodnjo uporabo. Izvedite ga z operaterjem preusmeritve.
Prenesite Server-Health.sh
Kaj pa prejemanje e -pošte pri uporabi diska na particiji DEL je večji od največjega dovoljenega, je skrivnost, ki rešuje življenje za spletne skrbnike z majhnimi spremembami.
MAX = 95. [zaščiteno po e -pošti]DEL = sda1. USE = `df -h | grep $ PART | awk '{print $ 5}' | cut -d '%' -f1` če [$ USE -gt $ MAX]; nato odmev "Odstotek porabe: $ USE" | mail -s "zmanjka prostora na disku" $ EMAIL. fi
Opomba: Odstrani "UPORABNIK”Z vašim uporabniškim imenom. E -pošto lahko preverite s tipko 'pošte‘Ukaz.
Prenesite Check-Disk-Space.sh
Pisanje in programiranje scenarijev presega meje, po potrebi se lahko izvede vse in vse. To je zaenkrat vse. V naslednjem članku vam bom predstavil nekaj drugačnih okusov skript. Do takrat pa ohladite in uživajte, uživajte.