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.