Cum se execută mai multe comenzi în Linux

How Run Multiple Commands Linux



Diferite tipuri de comenzi sunt necesare pentru a rula de la terminal în Linux. Uneori trebuie să rulăm mai multe comenzi într-un moment în care comenzile pot depinde sau nu una de cealaltă. Rularea mai multor comenzi simultan se numește lanț de comenzi. Multe tipuri de operatori pot fi folosiți pentru înlănțuirea comenzilor în scopuri diferite. Modul în care puteți rula două sau mai multe comenzi utilizând operatorii cei mai frecvent utilizați este prezentat în acest tutorial.

operatorul pipe (|) este folosit pentru a rula două sau mai multe comenzi conexe la un moment dat. Intrarea comenzii următoare va fi ieșirea comenzii anterioare. Deci, succesul fiecărei comenzi depinde de succesul comenzii anterioare fără prima comandă. În următoarea comandă, prima comandă, eu sunt va afla lista de fișiere și foldere ale locației curente și va trimite ieșirea ca intrare pentru a doua comandă, toaleta . Se va imprima numărul total de linii, cuvinte și caractere pe baza datelor de intrare.







$eu sunt -la | toaleta din fericire



Punct și virgulă (;) Operator

Operatorul punct și virgulă (;) este obișnuit să ruleze două sau mai multe comenzi fără legătură simultan. Aceasta înseamnă că ieșirea fiecărei comenzi nu depinde de alte comenzi. În exemplul următor, trei tipuri de comenzi sunt combinate împreună și eșecul fiecărei comenzi nu va crea un efect asupra ieșirii altor comenzi. Prima comandă va imprima conținutul unui fișier, a doua comandă va face un director și a treia comandă va schimba directorul curent.



$pisicămyfile.txt;mkdirnewdir;CDDesktop





Operator AND (&&) logic

Comenzile rulate de Logical AND (&&) sunt legate între ele, cum ar fi comanda pipe (|). Deci, dacă comanda anterioară nu se va executa cu succes, atunci următoarele comenzi nu vor funcționa. În exemplul următor, două comenzi, mkdir și rmdir combinate de operatorii &&. Deci, comanda mkdir nu este executată cu succes, apoi comanda rmdir nu se va executa. Conform ieșirii comenzii ls, directorul myDir există deja în locația curentă. Deci prima comandă nu se va executa și pentru această a doua comandă nu se va executa și.

$eu sunt
$mkdirmyDir&& rmdirtemp
$eu sunt



Operator OR (||) logic

Operatorul logic OR (||) este opusul operatorului logic AND (&&). Următoarea comandă se va executa dacă comanda anterioară nu reușește să se execute. Trei comenzi de pisică sunt combinate cu operatorul OR (||) în exemplul următor. Când veți rula comanda, în primul rând, va încerca să afișeze conținutul fișierului cat.txt. Dacă nu există un astfel de fișier în locația curentă, atunci va încerca să execute următoarea comandă. Conform rezultatului, fișierul bird.txt există în locația curentă și conținutul acestui fișier este afișat.

$ cat cat.txt || cat dog.txt || pisică pasăre.txt

Comenzi multiple cu mai mulți operatori

Puteți utiliza mai mulți operatori pentru a rula mai multe comenzi simultan. În exemplul următor, trei comenzi sunt combinate cu operatorii OR (||) și AND (&&). După executarea comenzii, în primul rând, va schimba directorul curent în newdir dacă directorul există. Dacă această comandă eșuează, atunci va crea directorul executând a doua comandă și va imprima mesajul, directorul va fi creat. Conform rezultatului, directorul newdir nu există în locația curentă. Deci, mesajul de eroare este afișat și directorul este creat mai târziu.

$CDnewdir|| mkdirnewdir&& aruncat „directorul este creat”

Operator combinat {}

Două sau mai multe comenzi pot fi combinate folosind acest operator și dacă executarea primei comenzi eșuează, a doua comandă nu se va executa. În exemplul următor, OR, AND și operatorii de combinație sunt utilizați împreună. Primele comenzi vor verifica dacă directorul temporar există sau nu în locația curentă. Dacă prima comandă eșuează, atunci va crea un director temporal și va imprima un mesaj. Ultima comandă va afișa lista de directoare curentă.

$[ -dtemp] || { mkdirtemp;aruncatdirectorul temporar este creat acum .;} && eu sunt

Operator de prioritate ()

Puteți utiliza acest operator pentru gruparea comenzilor în momentul executării. Aici, fiecare grup va funcționa ca o singură sarcină. În exemplul următor, sunt definite două grupuri de comenzi și dacă primul grup nu reușește să execute, atunci al doilea grup va executa.

$(CDtemp&& eu sunt-la) || (mkdirtemp&& eu sunt)

Concluzie

Acest tutorial a explicat operatorii cei mai utilizați pentru rularea mai multor comenzi în Linux. Dar există mulți alți operatori care există în bash, care sunt folosiți pentru a rula două sau mai multe comenzi împreună. Acestea sunt ampersand (&), redirecționare (, >>), logică NU (!), Combinație ({}) etc.