Kuidas käivitada Linuxis kaks või enam terminali käsku
Kui kasutate Linuxi, siis teate, kui kasulik on käsurida failide töötlemiseks, tarkvara installimiseks ja programmide käivitamiseks. Kuid see võib olla veelgi tõhusam, kui käivitate korraga mitu käsku.
Kahe või enama käsurea käsuga kombineerimine on tuntud ka kui „käsuahelaks“. Me näitame teile erinevaid viise, kuidas käsureal olevaid käske saab kombineerida.
Esimene võimalus: Semicolon (;) operaator
Semikoolon (;) operaator võimaldab teil mitu järjestikust käsku täita, olenemata sellest, kas iga eelmine käsk õnnestub. Näiteks avage terminali aken (Ctrl + Alt + T Ubuntu ja Linux Mint). Seejärel tippige ühele reale järgmised kolm semikooloniga eraldatud käsku ja vajutage Enter. See annab sulle nimekirja praegusest kataloogist ( ls
), selgitage välja, millist kataloogi te praegu \ t pwd
) ja kuvage oma kasutajanimi ( kes ma olen
) kõik korraga.
ls; pwd; kes ma olen
Samuti ei pea semikoolonite ja käskude vahel tühikuid asetama. Võite sisestada kolm käsku ls; pwd; whoami
. Kuid ruumid muudavad kombineeritud käsu loetavamaks, mis on eriti kasulik juhul, kui kombineeritud käsk paneb shelliskripti.
Teine võimalus: loogiline ja operaator (& &)
Kui soovite, et teine käsk toimiks ainult siis, kui esimene käsk on edukas, eraldage käsud loogilise AND operaatoriga, mis on kaks amplituudi ( & &
). Näiteks tahame luua kataloogi nimega MyFolder ja seejärel muuta seda kataloogi, kui see on edukalt loodud. Niisiis kirjutame käsureal järgmised andmed ja vajutage Enter.
mkdir MyFolder & & cd MyFolder
Kaust loodi edukalt, nii et cd
käsk käivitati ja me oleme nüüd uues kaustas.
Enamasti soovitame kasutada semikoolonoperaatorit kui loogilist AND operaatorit (;
). See tagab, et te ei tee midagi katastroofilist. Näiteks, kui käivitate käsu kataloogi muutmiseks ja seejärel sundida kõik selles kataloogis rekursiivselt eemaldama ( cd / some_directory; rm -Rf *
), siis võite lõpuks oma süsteemi hävitada, kui kataloogimuutus ei toimu. Mitte nii, et soovitame käivitada käsk, et eemaldada tingimusteta kõik kataloogi failid korraga.
Kolmas võimalus: loogiline või operaator (||)
Mõnikord võidakse teine käsk käivitada ainult siis, kui esimene käsk teeb mitte õnnestub. Selleks kasutame loogilist VÕI operaatorit või kahte vertikaalset riba ( ||
). Näiteks tahame kontrollida, kas MyFolderi kataloog on olemas ( [-d ~ / MyFolder]
) ja looge, kui seda ei tee ( mkdir ~ / MyFolder
). Niisiis, me kirjutame järgmine käsk ja vajutage Enter.
[-d ~ / MyFolder] || mkdir ~ / MyFolder
Veenduge, et pärast esimest klambrit on tühik ja enne teist kronsteinit või esimest käsku, mis kontrollib, kas kataloogi olemasolu ei toimi.
Meie näites puudub MyFolderi kataloog, nii et teine käsk loob kataloogi.
Mitme operaatori ühendamine
Samuti saate käsureal kombineerida mitu operaatorit. Näiteks tahame kõigepealt kontrollida, kas fail on olemas ( [-f ~ / sample.txt]
). Kui see nii on, siis me trükime sõnumi ekraanile, öeldes seda ( kaja “Fail on olemas”.
). Kui ei, loome me faili ( puudutage ~ / sample.txt
). Niisiis, me kirjutame käsureale järgmise ja vajutage Enter.
[-f ~ / sample.txt] && echo "Fail on olemas." || puudutage ~ / sample.txt
Meie näites pole faili olemas, nii et see loodi.
Siin on kasulik kokkuvõte kõigist operaatoritest, mida kasutatakse käskude ühendamiseks:
-
A; B
- Käivita A ja seejärel B, sõltumata A-i edukusest või ebaõnnestumisest -
A&&B
- Käivita B ainult siis, kui A õnnestus -
A || B
- Käivita B ainult siis, kui A nurjus
Kõiki neid käske kombineerivaid meetodeid saab kasutada ka shellskriptides nii Linuxis kui ka Windows 10-s.
Samuti saate automaatselt korrigeerida õigekirja- ja kirjavigu, kui kasutate käsureale „cd”, et vältida käskude ühendamisel drastilisi tagajärgi..