Kombinirajući dvije ili više naredbi na naredbenom retku je također poznat kao "naredbeni lanac". Pokazat ćemo vam različite načine na koje možete kombinirati naredbe na naredbenom retku.
Prva opcija: Operator zareze (;)
Vremenski okvir (;) operater omogućuje izvršavanje više naredbi u nizu, bez obzira na to uspijeva li ikakva prethodna naredba. Na primjer, otvorite prozor terminala (Ctrl + Alt + T u Ubuntu i Linux Mint). Zatim upišite sljedeće tri naredbe na jedan red, odvojenih točkom-zarezom i pritisnite Enter. Ovo će vam dati popis trenutnog direktorija (
ls
), saznajte koji direktorij ste trenutno u (
pwd
) i prikazati svoje ime za prijavu (
whoami
) sve odjednom.
ls; pwd; whoami
Ne morate stavljati razmake između točaka i naredbi. Možete unijeti tri naredbe kao
ls;pwd;whoami
Međutim, prostori čine kombiniranu naredbu čitljivijom, što je osobito korisno ako stavljate kombiniranu naredbu u skriptu ljuske.
Druga opcija: logični operater (&&)
Ako želite da se druga naredba pokrene samo ako je prva naredba uspješna, razdvojite naredbe s logičkim AND operatorom, što je dvije ampersands (
&&
). Na primjer, želimo napraviti direktorij pod nazivom MyFolder, a zatim se prebaciti u taj direktorij, pod uvjetom da je uspješno stvoren. Dakle, upišemo sljedeće u naredbenu retku i pritisnite Enter.
mkdir MyFolder && cd MyFolder
Mapa je uspješno stvorena pa je
cd
naredba je izvršena i sad smo u novoj mapi.
PreporuÄŤujemo da koristite logiÄŤki AND operator umjesto vodostaju za poluotvorene dijelove veÄ ‡ inu vremena (
;
). To osigurava da ne učinite ništa katastrofalno. Na primjer, ako pokrenete naredbu za prebacivanje u direktorij, a zatim prisiljavajte da se sve rekurzivno ukloni u taj direktorij (
cd /some_directory; rm -Rf *
), možete uništiti vaš sustav ako se promjena direktorija ne dogodi. Ne preporučujemo da pokrenete naredbu da bezuvjetno uklonite sve datoteke u direktoriju odjednom.
Treća opcija: Logička OR operatora (||)
Ponekad želite izvršiti drugu naredbu samo ako prva naredba radi neuspjeti. Da bismo to učinili, koristimo logičku OR operatoru ili dvije vertikalne trake (
||
). Na primjer, želimo provjeriti postoji li imenik MyFolder (
[ -d ~/MyFolder ]
) i stvoriti ga ako ne (
mkdir ~/MyFolder
). Dakle, upisujemo sljedeću naredbu i odmah pritisnite Enter.
[ -d ~/MyFolder ] || mkdir ~/MyFolder
Budite sigurni da postoji razmak nakon prvog nosača i prije drugog nosača ili prve naredbe koja provjerava postoji li direktorij neće raditi.
U našem primjeru, mapa MyFolder ne postoji, pa druga naredba stvara direktorij.
Kombinirajući više operatera
Također možete kombinirati više operatera na naredbenom retku. Na primjer, želimo najprije provjeriti postoji li datoteka (
[ -f ~/sample.txt ]
). Ako se to dogodi, ispisujemo poruku na zaslonu tako govoreći:
echo “File exists.”
). Ako ne, stvorili smo datoteku (
touch ~/sample.txt
). Dakle, upišemo sljedeće u naredbeni redak i pritisnite Enter.
[ -f ~/sample.txt ] && echo “File exists.” || touch ~/sample.txt
U našem primjeru, datoteka nije postojala pa je stvorena.
-
A; B
- Run A i B, bez obzira na uspjeh ili neuspjeh A
-
A && B
- Run B samo ako je uspio
-
A || B
- Pokreni B samo ako A nije uspio
Sve ove metode kombiniranja naredbi također se mogu koristiti u skriptama ljuske na Linuxu i Windowsima 10.
Također možete automatski ispraviti pravopis i pogreške pisanja kada koristite "cd" na naredbenoj liniji u Linuxu kako biste izbjegli drastične posljedice pri kombiniranju naredbi.