Programiranje skripte s bashom na linuxu

Sadržaj

Iako ga općenito koristimo za administrativne operacije ili operacije upravljanja datotekama, Linux konzola proširuje svoju funkcionalnost daleko izvan te svrhe, dopuštajući nam programiranje skripti prema našim potrebama.
U osnovi kažemo da je to datoteka koja sadrži kôd napisan na određenom programskom jeziku koji sustav koristi za određeni zadatak. Ne mora imati vanjski ulaz ili grafičko sučelje, ali mora izlaziti obrađene podatke.
Za početak moramo imati uređivač teksta i želju za programiranjem. Datoteke koje spremamo s nastavkom .sh može se izvršiti (ili protumačiti) pomoću konzole, sve dok je prvi redak sljedeći:
#! / bin / bash
To govori sustavu da koristi konzolu za pokretanje datoteke. Osim toga, znak # omogućuje pisanje komentara.
Pokušat ćemo nekoliko primjera
Izrađujemo datoteku pod nazivom downloads.sh
 #! / bin / bash # stvorimo pseudonim zvan preuzimanja s adresom direktorija preuzimanja alias preuzimanja = ’ / home / user / Downloads’

Spremite ga kao downloads.sh
Da biste pokrenuli 'Bash skriptu, dajte joj dopuštenja za izvršavanje. Da biste to učinili, upišite naredbeni terminal:
chmod u + x downloads.sh
Ne zaboravite pokrenuti ovu naredbu za svaku skriptu koju stvorite
Pokrenite ‘skriptu’ pokretanjem u terminalu
./downloads.sh
Ako je uspio, trebali biste se postaviti u direktorij Preuzimanja
Koristite varijable i parametre u skripti
 #! / bin / bash # Korištenje varijabli # echo "Vaš prvi argument je" $ 1 echo "Vaš drugi argument je" $ 2

Na primjer, način izvođenja skripte bit će
./miScript.sh zdravo 4

Rezultat bi trebao biti
Tvoj prvi argument je zdravo
Vaš drugi argument je 4
Kako omogućiti unos varijabli i parametara tijekom izvođenja
 #! / bin / bash echo "Unesite svoje ime i pritisnite ENTER" #Pročitajte naziv varijable read name echo "Vaše ime je $ name"

Korisniji primjer skripte koja će nam reći koje procese izvršava određeni uneseni korisnik
 #! / bin / bash RES = s #odgovor na petlju nastavi ako se dok [$ RES = s] radi echo "Unesite korisničko ime:" pročitajte USU #korisničko ime ps aux | grep $ USU echo "Želite li nastaviti?" pročitati RES učinjeno

Ako želimo spriječiti bilo kojeg korisnika da izvrši skriptu na početku, možemo staviti sljedeći kod tako da ga može izvršiti samo root korisnik
 #! / bin / bash if [[$ EUID -ne 0]]; zatim echo "Ovu skriptu mora izvesti korisnik root" 1> & 2 exit 1 fi 
Ako bilo koji drugi korisnik pokuša pokrenuti skriptu, ona neće raditi i prozor terminala će se zatvoriti.
Također možemo dopustiti nekim korisnicima da ga pokrenu umjesto njih, na početku ćemo staviti sljedeći kod
 #! / bin / bash AUTHORIZED_USER = "dopušteni korisnik" ako je [$ USER! = $ AUTHORIZED_USER]; zatim echo "Ovu skriptu mora izvršiti korisnik $ AUTHORIZED_USER" 1> & 2 izlaz 1 fi

Izradit ćemo bash izbornik koji će dati različite mogućnosti korisniku ili olakšati interakciju
 #! / bin / bash clear while: do echo "Odaberite opciju" echo "1. Korisnici prijavljeni?" echo "2. Potrošnja resursa" echo "3. Usluge rade?" echo "4. Izlaz" echo -n "Odaberite opciju [1 - 4]" čitanje slučaja opcije $ option u 1) echo "Oni su povezani:"; quien;; 2) odjek "Running htop"; htop ;; 3) lsof -n -i -P | grep '*;; 4) odjek "Kraj"; izlaz 1 ;; *) echo "$ opc je nevažeća opcija?"; echo "Pritisnite tipku za nastavak …"; čitaj foo ;; učinjeno
Je li vam se svidio i pomogao ovaj vodič?Autor možete nagraditi pritiskom na ovaj gumb kako biste mu dali pozitivan bod

Vi ćete pomoći u razvoju web stranice, dijeljenje stranicu sa svojim prijateljima

wave wave wave wave wave