Käsurea kahe või enama käskluse kombineerimine on tuntud ka kui käskude ahelamine. Näitame teile erinevaid viise, kuidas saate käske käsuga kombineerida.
Variant 1: semikoolon (;) operaator
Segmendi semikoolon (;) võimaldab teil käivitada mitu käsku järjest, olenemata sellest, kas mõni eelmine käsk õnnestub. Näiteks avage Terminal aken (Ctrl + Alt + T Ubuntu ja Linux Mint). Seejärel sisestage ühes reas üks kolm rida, eraldatud semikoolonidega ja vajutage sisestusklahvi. See annab teile praeguse kataloogi nimekirja (
ls
), saate teada, millist kataloogi te praegu olete (
pwd
) ja näidake oma sisselogimisnime (
whoami
) kõik korraga.
ls; pwd; whoami
Ka semikoolonide ja käskude vahel ei ole vaja ruumi tühistada. Võite sisestada kolm käsku nagu
ls;pwd;whoami
. Kuid tühikud muudavad kombineeritud käsku loetavamaks, mis on eriti kasulik, kui käivitate kombineeritud käsu shelliskripti.
Teine võimalus: loogiline ja operaator (&&)
Kui soovite, et teine käsk käivituks ainult siis, kui esimene käsk on edukas, eraldage käsud loogilise AND operaatoriga, mis on kaks ampersantsi (
&&
) Näiteks tahame luua kataloogi MyFolder ja seejärel selle kataloogi muuta, tingimusel et see on edukalt loodud. Nii sisestage käsureale järgmine käsk ja vajutage sisestusklahvi.
mkdir MyFolder && cd MyFolder
Kaust loodi edukalt, seega
cd
käsk käivitati ja me oleme nüüd uues kaustas.
Soovitame enamikku aega kasutada pigem loogilist operaatorit ja operaatorit kui semikoolonit operaatorit (
;
) See tagab, et te ei tee midagi katastroofilist. Näiteks kui käivitate käsku kataloogi muutmiseks ja seejärel jõuate selle kataloogi kõik rekursiivselt ((
cd /some_directory; rm -Rf *
), võiksite süsteemi rikkuda, kui kataloogimuutust ei juhtuks. Mitte, et soovitame käivitada käsu tingimusteta eemaldada kõik failid kataloogis korraga.
Kolmas variant: loogiline või operaator (||)
Mõnikord võite käsku käivitada ainult siis, kui esimene käsk teeb mitteõnnestub. Selleks kasutame loogilist VÕI operatsiooni või kahte vertikaalset baari (
||
) Näiteks tahame kontrollida, kas MyFolder kataloog on olemas (
[ -d ~/MyFolder ]
) ja loo see, kui see ei ole (
mkdir ~/MyFolder
) Nii sisestage järgmine käsk viirusel ja vajutage sisestusklahvi.
[ -d ~/MyFolder ] || mkdir ~/MyFolder
Veenduge, et pärast esimest konsooli on ruumi ja teine sulg või esimene käsk, mis kontrollib, kas kataloog on olemas, ei toimi.
Meie näites MyFolderi kataloogi ei eksisteeri, nii et teine käsk loob kataloogi.
Mitme operaatori ühendamine
Võite kombineerida ka mitut operaatorit käsurealt. Näiteks tahame kõigepealt kontrollida, kas fail on olemas (
[ -f ~/sample.txt ]
) Kui see nii läheb, trükime ekraanile sõnumi, mis ütleb nii (
echo “File exists.”
) Kui ei, loome faili (
touch ~/sample.txt
) Nii sisestage käsuviibale järgmine käsk ja vajutage sisestusklahvi.
[ -f ~/sample.txt ] && echo “File exists.” || touch ~/sample.txt
Meie näites ei olnud faili olemas, mistõttu see on loodud.
-
A; B
- Käivitage A ja seejärel B, sõltumata A edust või ebaõnnestumisest
-
A && B
- Käivita B ainult siis, kui A õnnestus
-
A || B
- Käivita B ainult siis, kui A ei õnnestu
Kõiki neid käskude kombineerimise meetodeid saab kasutada ka Linuxi ja Windows 10 shellide skriptidena.
Samuti saate Linuxi käsureal CD-d kasutades õigekirja ja kirjavigu automaatselt parandada, et vältida järsuid tagajärgi käsunte kombineerimisel.