Kako pokrenuti više naredbi u Linuxu

How Run Multiple Commands Linux



Za pokretanje s terminala u Linuxu potrebne su različite vrste naredbi. Ponekad moramo pokrenuti više naredbi odjednom gdje naredbe mogu ovisiti jedna o drugoj ili ne. Izvođenje više naredbi odjednom naziva se zapovijedanjem naredbi. Mnoge vrste operatora mogu se koristiti za zapovijedanje naredbi u različite svrhe. U ovom vodiču prikazano je kako možete pokrenuti dvije ili više naredbi pomoću najčešće korištenih operatora.

Operator pipe (|) koristi se za pokretanje dviju ili više povezanih naredbi odjednom. Unos sljedeće naredbe bit će izlaz prethodne naredbe. Dakle, uspjeh svake naredbe ovisi o uspjehu prethodne naredbe bez prve naredbe. U sljedećoj naredbi, prva naredba, ls saznat će popis datoteka i mapa trenutne lokacije i poslati izlaz kao ulaz za drugu naredbu, zahod . Ispisat će ukupan broj redaka, riječi i znakova na temelju ulaznih podataka.







$ls - | zahod srećom



Operator s zarezom (;)

Operator s zarezom (;) koristi se za pokretanje dvije ili više nepovezanih naredbi odjednom. To znači da izlaz svake naredbe ne ovisi o drugim naredbama. U sljedećem primjeru tri vrste naredbi su kombinirane zajedno i neuspjeh svake naredbe neće stvoriti učinak na izlaz drugih naredbi. Prva naredba ispisat će sadržaj datoteke, druga će narediti direktorij, a treća će promijeniti trenutni direktorij.



$mačkamyfile.txt;mkdirnewdir;CDDesktop





Logički operator AND (&&)

Naredbe koje pokreće Logical AND (&&) međusobno su povezane poput naredbe pipe (|). Dakle, ako se prethodna naredba neće uspješno izvršiti, sljedeće naredbe neće raditi. U sljedećem primjeru dvije naredbe, mkdir i rmdir kombiniraju operatori &&. Dakle, naredba mkdir nije uspješno izvedena, a naredba rmdir se neće izvršiti. Prema izlazu naredbe ls, direktorij myDir već postoji na trenutnoj lokaciji. Dakle, prva naredba se neće izvršiti, a za ovu drugu naredbu također se neće izvršiti.

$ls
$mkdirmyDir&& rmdirtemp
$ls



Logički OR (||) operator

Logički operater OR (||) suprotnost je logičkom operateru AND (&&). Sljedeća naredba izvršit će se ako prethodna naredba ne uspije. Tri naredbe cat kombiniraju se s operatorom OR (||) u sljedećem primjeru. Kada pokrenete naredbu, prije svega, ona će pokušati prikazati sadržaj datoteke cat.txt. Ako takva datoteka ne postoji na trenutnom mjestu, ona će pokušati izvršiti sljedeću naredbu. Prema ispisu, datoteka bird.txt postoji na trenutnom mjestu i prikazuje se sadržaj ove datoteke.

$ cat cat.txt || mačka pas.txt || mačka ptica.txt

Više naredbi s više operatora

Možete koristiti više operatora za pokretanje više naredbi odjednom. U sljedećem primjeru tri naredbe kombiniraju se s operatorima OR (||) i AND (&&). Nakon pokretanja naredbe, prije svega, ona će promijeniti trenutni direktorij u newdir ako direktorij postoji. Ako ova naredba ne uspije, tada će stvoriti direktorij izvršavanjem druge naredbe i ispisati poruku, direktorij se stvara. Prema ispisu, direktorij newdir ne postoji na trenutnoj lokaciji. Dakle, prikazuje se poruka o pogrešci, a direktorij se stvara kasnije.

$CDnewdir|| mkdirnewdir&& izbaciti 'direktorij je kreiran'

Kombinirani operator {}

Pomoću ovog operatora mogu se kombinirati dvije ili više naredbi, a ako izvršavanje prve naredbe ne uspije, druga se naredba neće izvršiti. U sljedećem primjeru OR, AND i kombinacijski operatori koriste se zajedno. Prve naredbe će provjeriti postoji li temp direktorij na trenutnom mjestu ili ne. Ako prva naredba ne uspije, tada će stvoriti privremeni direktorij i ispisati poruku. Posljednja naredba prikazat će trenutni popis direktorija.

$[ -dtemp] || { mkdirtemp;izbacitiprivremeni direktorij je sada kreiran .;} && ls

Operator prioriteta ()

Ovaj operator možete koristiti za grupiranje naredbi u vrijeme izvođenja. Ovdje će svaka grupa raditi kao jedan zadatak. U sljedećem primjeru definirane su dvije naredbene grupe, a ako se prva grupa ne izvrši, izvršit će se druga skupina.

$(CDtemp&& ls-do) || (mkdirtemp&& ls)

Zaključak

Ovaj vodič objasnio je najčešće korištene operatore za pokretanje više naredbi u Linuxu. No, u bashu postoje mnogi drugi operatori koji se koriste za pokretanje dvije ili više naredbi zajedno. To su znakovi & (), preusmjeravanje (, >>), logičko NE (!), Kombinacija ({}) itd.