Vodič za početnike

Vodič za skripte za bashe za početnike

Vodič za skripte za bashe za početnike

Ako započinjete s Linux sustavima, pojmovi poput "Shell skriptiranje" ili “Bash skriptiranje”Može biti sasvim uobičajeno - Ali što oni znače? Prije nego što uđemo u detalje, učenje Bash skriptiranja može vam pomoći uštedjeti vrijeme u izvršavanju i izvršavanju različitih sistemskih zadataka te bolje razumjeti Linux naredbenu liniju (Terminal) i automatizirati više sistemskih zadataka.

Što je Bash?

Bash, kratica za "Bourne-Again-Shell", je Unix ljuska ili interpretacijski jezik naredbenog jezika za GNU operativni sustav. Bila je glavna ljuska za distribucije Linuxa i Appleova MacOS izdanja prije macOS Cataline. Bash je dostupan i za Windows 10 putem Windows podsustava za Linux.

Bash se obično izvodi u tekstualnom prozoru koji je poznat kao Terminal, gdje korisnici upisuju naredbe za izvršavanje različitih zadataka. Bash također može izvršavati naredbe zapisane u datoteci, metodom koja se naziva “Bash skriptiranje."

Razlika između Bash skriptiranja i Shell skriptiranja

Shell skriptiranje i Bash skriptiranje nisu iste stvari. S Bash skriptiranjem izričito koristite bash ljusku. S druge strane, Shell skriptiranje može biti prilično široka riječ jer imamo i druge ljuske osim Bash-a. Neki od najčešćih uključuju Korn (ksh), C ljusku (csh), Z ljusku (zsh) i Bash ljusku (sh). Međutim, ne bi bilo iznenađenje da ljudi koji koriste bash skripte i ljuske skripte naizmjenično označavaju isto. Naš post na Top 6 školjki s otvorenim kodom za Linux daje detaljan opis tih ljuski.

U ovom ćemo postu pogledati skripte za Bash. Prema zadanim postavkama, mnoge dostupne Linux distribucije koriste Bash ljusku. Pogledajte naš post o 6 najboljih Linux distribucija za početnike. Da biste potvrdili ljusku koju koristite na vašoj trenutnoj Linux distribuciji, izvršite naredbu na terminalu.

odjek $ SHELL

ljuska

Na gornjoj slici možete vidjeti da je zadani tumač u mom sustavu bash. Trenutno pokrećem Ubuntu 20.04 LTS. Zaronimo!

Razumijevanje bashovih skripti

Bash skripte su tekstualne datoteke koje sadrže bash naredbe koje se izvršavaju za izvršavanje različitih zadataka. Da biste napisali ove skripte, potreban vam je samo jednostavan uređivač teksta kao što su gedit, leaf pad, vim, nano i još mnogo toga. Molimo pripazite da svoje skripte spremite s .sh proširenje i kao običan tekst, a ne bogati tekst. Jedan od mojih najdražih urednika koje koristim za pisanje skripti je nano editor.

Imenovanje, dodjeljivanje dozvola i izvršavanje Bash skripte

Kao što je gore objašnjeno, osigurajte upotrebu .sh proširenje za vaše bash skripte. Na primjer, možete imati skriptu s imenom fosslinux_backup.sh. Međutim, bilo bi najbolje da s oprezom imenujete svoje skripte. Na primjer, većina ljudi voli spremati većinu svojih skripti kao "test".”Nepoznata većini, postoji Unix ugrađena naredba koja se naziva test, koja provjerava vrste datoteka i uspoređuje vrijednosti. Pomoću naredbe which možete provjeriti postoji li program s istim imenom kao i vaša skripta kako biste spriječili bilo kakav sukob programa.

koja [naredba] e.g koji test

Koju naredbu

Iz gornjeg rezultata možemo vidjeti da je test već ugrađena naredba. Stoga, kako bih izbjegao sukobe između programa, neću nijednu od svojih skripti imenovati "test."

Da biste skriptu učinili izvršnom za svakog korisnika, upotrijebite naredbu u nastavku:

chmod + x [skripta.sh]

Da biste skriptu učinili izvršnom za trenutnog korisnika, upotrijebite naredbu u nastavku:

chmod u + x [skripta.sh]

Sada da biste pokrenuli skriptu, izvršite naredbu u nastavku:

./ [ime_kripte]

Pomoću gornje metode shvatit ćete da ćete trebati koristiti CD naredba za prelazak u direktorij koji sadrži skriptu ili prosljeđivanje puta do skripte. Međutim, postoji zaobilazno rješenje za to. Spremite svoje skripte u kanta za smeće direktorij prisutan u matičnom direktoriju.

S najnovijim ažuriranjima, većina distribucija ne dolazi s kanta za smeće mapa prema zadanim postavkama. Stoga ćete ga morati ručno stvoriti. Postavljanjem skripti u ovu mapu možete izvršiti skriptu upisivanjem njezina imena u Terminal bez upotrebe CD i ./ naredbe.

Smjernice za skriptiranje basha

Prije pisanja prve skripte postoje neke smjernice koje morate razumjeti prilikom pisanja skripti.

The #!/ bin / bash Izjava (Hash-Bang Hack) put je do ljuske koju ćemo koristiti. Ako koristite drugu ljusku, tada biste trebali urediti ovu stazu. Razumijemo da svi komentari počinju s # simbol. Međutim, kada slijedi a (!) oznaka u Hash-Bang Hacku, skripta je prisiljena na izvršavanje s ljuskom na koju ukazuje ovaj redak. U našem slučaju to je Bashova ljuska.

Vaša prva Bash skripta

Kao i većina programskih jezika, napisat ćemo skriptu koja ispisuje "Pozdrav svijete" izjava kad se izvrši. Otvorite svoj omiljeni uređivač teksta i zalijepite naredbe u nastavku. Spremite tekstualnu datoteku kao fossHelloWorld.sh ili bilo koje drugo ime koje nije ugrađena naredba.

#!/ bin / bash # Ova skripta ispisat će 'Hello World' na odjeku terminala "Hello World"

Nakon što datoteku spremite, izvršite je naredbom u nastavku:

chmod + x fossHelloWorld.sh

Sada ga pokrenite naredbom ispod:

./ fossHelloWorld.sh

Prva skripta

Gornja skripta ima samo tri retka. Prvi je Hash-Bang Hack, o kojem smo gore raspravljali, drugi je komentar, a treći je naredba koja će se izvršiti. Napomena, komentari se nikad ne izvršavaju.

Pogledajmo druge značajke bash skriptiranja koje možete koristiti.

Naredba odjeka

Naredba Echo koristi se za ispis izlaza na Linux naredbenom retku ili terminalu. Ako ste programer i već ste surađivali s PHP-om, sigurno ste naišli i na ovu naredbu. Napišimo malu bash skriptu da pokažemo kako ova naredba radi.

#!/ bin / bash # Ispišimo odjek prvog retka "Ovo je Fosslinux.com - Uz novi redak "# Ispisujemo drugu izjavu bez novog retka echo -n" Ovo je Fosslinux - Nema novog retka "

Spremite skriptu, dodijelite potrebna dopuštenja i izvršite je.

Bash Echo

Da bi se razumio kôd, prva naredba echo ispisuje izjavu i prelazi u sljedeći redak. Druga naredba eho ima -n argument koji sprječava prelazak skripte u sljedeći redak. Pomoću naredbe Echo možete koristiti mnoge druge opcije, uključujući varijable, kao što ćemo vidjeti u nastavku.

Varijable

Varijable su uobičajeni i nužni dio bilo kojeg programskog jezika. Bash varijable mogu se deklarirati na nekoliko načina. Kada dodijelite vrijednost bilo kojoj varijabli, ne trebate koristiti nikakve simbole. Međutim, prilikom pozivanja vrijednosti varijable morat ćete upotrijebiti $ znak na početku varijable.

Varijable možete koristiti na terminalu ili kao skripte. Izvršite naredbe u nastavku na vašem terminalu.

myWebsite = "Fosslinux.com "echo $ myWeb stranica

Korištenje varijabli na terminalu

Ajmo sada stvoriti bash skriptu koja uzima dva ulaza od korisnika i pohranjuje ih u varijable x i $ y. Zatim će skripta provjeriti jesu li dvije vrijednosti jednake ili ne.

#!/ bin / bash echo "Unesite prvi broj" pročitajte odjek "Unesite drugi broj" pročitajte b ako [[$ a -eq $ b]] onda odjeknite "Brojevi su jednaki" else echo "Brojevi nisu jednaki" fi

Spremite skriptu i pokrenite je. Na donjoj slici možete vidjeti da smo unijeli različite vrijednosti, a skripta je mogla provjeriti jesu li jednake ili ne.

Bash varijable

Sada, pogledajmo pobliže kod. Prva dva odjeka pozivaju korisnika da unese prvi i drugi broj. The čitati naredba će pričekati da korisnik unese broj i spremiti ga u navedenu varijablu. U našem slučaju, to je a i b. Zatim imamo izraz if koji provjerava jesu li dvije vrijednosti jednake ili ne.

Uvjetna izjava

U bilo kojem programskom jeziku, uvjetni izrazi kontroliraju tijek programa. Dio koda izvršit će se samo kada je ispunjen određeni uvjet. Neke od najčešćih uvjetnih izjava uključuju "ako-onda-drugo" i "slučaj".”Ispod je osnovna sintaksa naredbe if-then-else.

ako je [[uvjet]] tada  drugo  fi

Pogledajte skriptu u nastavku koja koristi uvjetnu izjavu "ako-onda-drugo".

#!/ bin / bash echo "Enter Your Age" pročitajte dob ako ((dob> 18)) zatim echo "Možete ići na zabavu" else echo "Ne ispunjavate uvjete za odlazak na zabavu" fi

Bash uvjetne izjave

Prođimo kroz gornju skriptu. Mi imamo jeka izjava koja traži od korisnika da unesu svoj dobni broj. The čitati izjava pohranjuje dob unesenu u varijablu „dob.”Zatim imamo uvjetnu izjavu ako-tada-koja provjerava je li dob starija od 18 godina prije nego što upute korisnika.

Petlje

Petlje se obično koriste kada želite izvršiti komad koda više puta. Na primjer, ako bih htio ponoviti 1000 redaka izjave "Dobrodošli u Fosslinux", trebao bih 1000 odjeka. Međutim, s petljama, sve što trebam učiniti je odrediti koliko puta želim da se izjava odzvanja ili ispisuje na terminalu. Bash podržava tri vrste petlji; Za petlju, Dok petlju i Do petlje. Pogledajmo svakog od njih.

Petlja For koristi se za itiranje kroz popis određenih podataka ili niza. Ispod je osnovna sintaksa Bash For Loop;

za vrijednost u 1 2 3 4 5… N ne radite upute1 upute2 upute-N gotove

ili,

za VRIJEDNOST u datoteci1 datoteka2 datoteka3 izvrši upute1 na $ VALUE uputa2 uputa-N gotova

Pogledajte skriptu u nastavku. Prelistava dane dane u tjednu i ispisuje ih na terminalu red po red.

# Pročitajte naziv radnog dana u svakoj iteraciji petlje za dan u ponedjeljak utorak srijeda četvrtak petak subota nedjelja odzvanja "$ day" gotovo

Spremimo skriptu kao ForLoop.sh i izvrši ga. Ispod je snimka zaslona.

Za Loop

To je samo jednostavan primjer onoga što možete učiniti s For Loop. Također ga možete kombinirati s uvjetnim izrazima da biste dovršili određeni zadatak.

Dok Loop izvršava određeni zadatak dok određeni uvjet ostaje True. U svakoj će iteraciji petlja prvo provjeriti stanje prije izvršavanja uputa. Kada je uvjet False, petlja će se prekinuti. Osnovna sintaksa petlje bash While je sljedeća:

dok [STANJE] izvršava [ZAPOVIJED]

Na primjer, možemo imati skriptu koja će ispisati izjavu “Dobrodošli u FOSSLINUX.COM " 20 puta dok se varijabla X ne postavi na 20. Pokušajmo to implementirati praktično. Pogledajte skriptu u nastavku.

#!/ bin / bash x = 1 dok [$ x -le 20] echo "Dobrodošli u FOSSLINUX.COM "x = $ (($ x + 1)) gotovo

Spremimo skriptu kao Dok petlja.sh i izvrši ga. Ispod je snimka zaslona.

Dok je Petlja

Pogledajmo gore skriptu While Loop. Prvo deklariramo varijablu X dajući joj vrijednost 1. Zatim kreiramo izjavu While koja izbacuje izjavu „Dobrodošli u FOSSLINUX.COM ”dok je X manje od 20. I na kraju, povećavamo X za jedan nakon svake iteracije.

Petlje Bash Until koriste se za izvršavanje niza uputa ili naredbi sve dok postavljeni uvjet procijeni na false. Ispod je osnovna sintaksa Do Loop.

dok se [CONDITION] ne izvrši [INSTARUCTIONS / COMMANDS]

Slično kao i dok Petlja, i dok petlja prvo izvršava postavljeni uvjet prije izvršavanja uputa ili naredbi. Ako se stanje procijeni na netočno, izvršavaju se upute. Petlja se prekida kada se uvjet ocijeni istinitim. Pogledajte primjer u nastavku.

#!/ bin / bash count = 0 dok [$ count -gt 5] ne izvrši echo Counter: $ count ((count ++)) gotovo

Nakon što spremimo i pokrenimo skriptu gore, dobit ćemo izlaz ispod:

Do petlje

Gornje skripte prvo kreiraju broj varijabli i postavljaju je na nulu (0). To je uvjet koji kontrolira tijek našeg programa. Do Loop provjerava je li vrijednost brojanja veća od 5. Ako nije, ispisat će proslijeđene upute. Međutim, ako je vrijednost veća od 5, petlja će se odmah prekinuti. Na kraju, povećavamo vrijednost brojanja za 1 (count ++).

Bash funkcije

U programiranju i skriptiranju, funkcije se koriste za držanje komada koda za višekratnu upotrebu koji je potreban za izvršavanje određenog zadatka. Stoga, ako imate slične naredbe koje želite izvršavati na različitim dijelovima vaše skripte, ne morate ih više puta pisati. Zatvorite ih u funkciju i umjesto toga izvršite funkciju.
Ispod je osnovna sintaksa funkcije Bash.

ime_funkcije ()    

ili,

funkcija ime_funkcije    

Stvorimo jednostavnu skriptu koja koristi funkcije. Prvo kreiramo funkciju nazvanu "myFunction", koja pri pozivu izbacuje izjavu "Zdravo, ja sam prva funkcija". Druga funkcija, "myCities", malo je napredna jer uzima proslijeđene argumente. Argumenti se daju nakon pozivanja imena funkcije. Dostupni su u funkciji kao $ 1.

#!/ bin / bash myFunction () echo "Pozdrav, ja sam prva funkcija" echo "Pozdrav, ja sam prva funkcija" echo echo "Ovo je druga funkcija" funkcija myCities () echo Pozdrav $ 1 myFunction myCities Washington, D.C myCities Phoenix

Nakon spremanja i izvršavanja skripte, dolazimo do rezultata.

Funkcije

Bash izbornici

Prilikom pisanja skripte za izvršavanje naprednog zadatka, možda će vam trebati korisnik da odabere jednu opciju između nekoliko opcija prikazanih na terminalu. Da bismo to postigli, koristit ćemo bash Odaberi naredba.

Stvara jednostavnu skriptu izbornika koja će korisnike potaknuti da odaberu svoje omiljene Linux distribucije s popisa. Pogledajte skriptu u nastavku.

#!/ bin / bash # Ispiši poruku za eho korisnika "Odaberite svoju omiljenu distribuciju Linuxa" odaberite distribuciju u Ubuntu Fedora OpenSUSE DeepIN Parrot ArchLinux Kali do # Ispišite odabranu vrijednost ako [[$ distro == "Exit"]], a zatim izađite 0 echo "Odabrana distribucija Linuxa je $ distro" fi

Spremimo skriptu kao izbornik.sh i izvrši ga. Rezultat ćemo dobiti u nastavku.

Bash izbornici

U gornjoj skripti imamo popis od sedam distribucija Linuxa, od kojih će korisnik odabrati jednu. Nakon što izvrše odabir, on se pohranjuje u varijablu distro a kasnije tiskan spajanjem u niz “Odabrana Linux distribucija je." Izbornici za odabir basha mogu biti vrlo korisni, pogotovo ako imate više skripti koje izvode različite zadatke, a treba odabrati onu koju žele izvršiti.

Aritmetika

Svaki programski jezik podržava izvođenje aritmetičkih operacija, a bash skripti nisu iznimka. Međutim, način na koji provodimo aritmetičke operacije malo je drugačiji. Ispod je jedan od načina na koji možete izvoditi aritmetičke operacije u bashu. Razmotrit ćemo četiri vrste aritmetičkih operacija - zbroj, dijeljenje i množenje.

#!/ bin / bash # Izračunaj zbroj rezultata = $ ((70 + 15)) # Ispiši odjek vrijednosti zbroja "sum = $ result" # Izračunaj rezultat podjele = $ ((100/25)) # Ispiši odjeljak vrijednosti odjeljenja = $ rezultat "# Izračunaj rezultat množenja = $ ((15 * 15)) echo" Množenje = $ rezultat "

Spremimo gornju skriptu kao aritmetičku.sh i izvrši ga. Rezultat ćemo dobiti u nastavku.

Aritmetika

Zaključak

To je cjelovit vodič za početnike za početak korištenja Bash skriptiranja. Međutim, Bash ima više osim onoga što je obrađeno u ovom vodiču. Jedno od mjesta koje bih preporučio za unapređivanje vaših vještina je GNU-ov Referentni priručnik za bashe. Ako imate bilo kakvih problema ili komentarišete ovaj post, slobodno pritisnite komentare u nastavku.

Zamijenite svoje tipke miša različito za različiti softver pomoću X-Mouse Button Control
Možda vam treba alat koji bi mogao promijeniti kontrolu miša sa svakom aplikacijom koju koristite. Ako je to slučaj, možete isprobati aplikaciju pod n...
Microsoft Sculpt Touch bežični miš pregled
Nedavno sam čitao o Microsoft Sculpt Touch bežični miš i odlučio ga kupiti. Nakon što sam ga neko vrijeme koristio, odlučio sam s njim podijeliti svoj...
Trackpad i pokazivač miša na ekranu AppyMouse za Windows tablete
Korisnicima tableta često nedostaje pokazivač miša, posebno kada su navični koristiti prijenosna računala. Pametni telefoni i tableti osjetljivi na do...