Kako pokrenuti dvije ili više naredbi terminala na jednom u Linuxu
Ako koristite Linux, znate kako koristan može biti naredbeni redak za rad s datotekama, instaliranje softvera i pokretanje programa. Ali to može biti još učinkovitije ako pokrenete više naredbi odjednom.
Kombiniranje dvije ili više naredbi u naredbenom retku također je poznato kao "lanac naredbi". Pokazat ćemo vam različite načine na koje možete kombinirati naredbe u naredbenom retku.
Opcija 1: Operator točka zarez (;)
Operator točka-zarez (;) omogućuje izvršavanje više naredbi u nizu, bez obzira na to da li svaka prethodna naredba uspijeva. Na primjer, otvorite prozor Terminala (Ctrl + Alt + T u Ubuntu i Linux Mint). Zatim u jednu liniju unesite sljedeće tri naredbe, odvojene točkom-zarezom, i pritisnite Enter. Time ćete dobiti popis trenutnog direktorija ( ls
), saznajte koji se direktorij trenutno nalazite ( pwd
) i prikazati svoje korisničko ime ( tko sam ja
) sve odjednom.
ls; pwd; tko sam ja
Ne morate stavljati razmake između točaka-zareza i naredbi. Možete unijeti tri naredbe kao ls, zap; Tkosamja
. Međutim, razmaci čine kombiniranu naredbu čitljivijom, što je osobito korisno ako kombiniranu naredbu stavljate u skriptu.
Druga mogućnost: logički operator AND (&&)
Ako želite da se druga naredba pokrene samo ako je prva naredba uspješna, odvojite naredbe s logičkim operatorom AND, što je dva znaka ( &&
). Na primjer, želimo napraviti direktorij zvan MyFolder, a zatim promijeniti taj direktorij pod uvjetom da je uspješno kreiran. Dakle, upišite sljedeće u naredbeni redak i pritisnite Enter.
mkdir MyFolder && cd MyFolder
Mapa je uspješno izrađena, dakle CD
naredba je izvršena i sada smo u novoj mapi.
Većinu vremena preporučujemo korištenje logičkog operatora AND, a ne operatora točka-zareza;
). To osigurava da ne učinite ništa pogubno. Na primjer, ako pokrenete naredbu za promjenu u direktorij, a zatim prisilno uklonite sve što je u tom direktoriju rekurzivno ( cd / some_directory; rm -Rf *
), možete uništiti sustav ako se promjena direktorija ne dogodi. Ne preporučujemo vam da pokrenete naredbu da bezuvjetno uklonite sve datoteke u direktoriju odjednom.
Treća opcija: logički operater operacije (ILI) (||)
Ponekad možete izvršiti drugu naredbu samo ako prva naredba radi ne uspjeti. Da bismo to učinili, koristimo logički operator OR ili dvije okomite trake ( ||
). Na primjer, želimo provjeriti postoji li direktorij MyFolder ( [-d ~ / MyFolder]
) i izradite ga ako ne mkdir ~ / MyFolder
). Dakle, upišemo sljedeću naredbu na upit i pritisnemo Enter.
[-d ~ / MyFolder] || mkdir ~ / MyFolder
Budite sigurni da postoji prostor iza prve zagrade i prije druge zagrade ili prve naredbe koja provjerava postoji li direktorij neće raditi.
U našem primjeru, direktorij MyFolder ne postoji, pa druga naredba stvara direktorij.
Kombiniranje više operatora
U naredbenom retku možete kombinirati više operatora. Na primjer, želimo prvo provjeriti postoji li datoteka ( [-f ~ / sample.txt]
). Ako se to dogodi, ispisat ćemo poruku na zaslonu i tako reći ( echo "Datoteka postoji."
). Ako ne, mi stvaramo datoteku ( dodirnite ~ / sample.txt
). Dakle, u naredbeni redak upišemo sljedeće i pritisnemo Enter.
[-f ~ / sample.txt] & & echo "Datoteka postoji." || dodirnite ~ / sample.txt
U našem primjeru datoteka nije postojala, pa je stvorena.
Evo korisnog sažetka svakog operatora koji se koristi za kombiniranje naredbi:
-
A; B
- Run A i onda B, bez obzira na uspjeh ili neuspjeh A -
A && B
- Pokrenite B samo ako je A uspio -
A || B
- Pokrenite B samo ako A nije uspio
Sve ove metode kombiniranja naredbi mogu se koristiti iu skriptama ljuske na Linuxu i Windows 10.
Također možete automatski ispraviti pravopis i tipkanje pri korištenju "cd" u naredbenom retku u Linuxu kako biste izbjegli drastične posljedice prilikom kombiniranja naredbi.