Kuidas Linuxis mitu käsku käivitada

How Run Multiple Commands Linux

Linuxi terminalist käivitamiseks on vaja erinevat tüüpi käske. Mõnikord peame käivitama mitu käsku korraga, kus käsud võivad üksteisest sõltuda või mitte. Mitme käsu korraga käivitamist nimetatakse käsuahelateks. Käskude aheldamiseks võib erinevatel eesmärkidel kasutada mitut tüüpi operaatoreid. Selles õpetuses on näidatud, kuidas saate kõige sagedamini kasutatavaid operaatoreid kasutades käivitada kaks või enam käsku.

toru (|) operaatorit kasutatakse kahe või enama seotud käsu korraga käivitamiseks. Järgmise käsu sisendiks on eelmise käsu väljund. Niisiis sõltub iga käsu edukus varasema käsu edukusest ilma esimese käsuta. Järgmises käsus, esimene käsk, ls saab teada praeguse asukoha failide ja kaustade loendi ning saadab väljundi teise käsu sisendiks, tualett . See prindib sisestatud andmete põhjal ridade, sõnade ja märkide koguarvu.



$ls -neid | tualett õnneks



Semikoolon (;) Operaator

Semikoolon (;) on harjunud korraga käivitama kahte või enamat sõltumatut käsku. See tähendab, et iga käsu väljund ei sõltu teistest käskudest. Järgmises näites kombineeritakse kolme tüüpi käske ja iga käsu ebaõnnestumine ei mõjuta teiste käskude väljundit. Esimene käsk prindib faili sisu, teine ​​käsk loob kataloogi ja kolmas käsk muudab praegust kataloogi.



$kassmyfile.txt;mkdirnewdir;CDTöölaud

Loogiline JA (&&) operaator

Käsud, mida käitab loogiline AND (&&), on üksteisega seotud nagu käsk pipe (|). Seega, kui eelmine käsk ei tööta edukalt, siis järgmised käsud ei tööta. Järgmises näites on kaks käsku mkdir ja rmdir, mida ühendavad && operaatorid. Niisiis, käsku mkdir ei õnnestunud edukalt täita, siis rmdir käsku ei täideta. Vastavalt käsu ls väljundile on kataloog myDir praeguses asukohas juba olemas. Nii et esimene käsk ei täitu ja see teine ​​käsk ei täida ka.

$ls
$mkdirmyDir&& rmdirtemp
$ls



Loogiline VÕI (||) operaator

Loogiline VÕI (||) operaator on loogilise JA (&&) operaatori vastand. Järgmine käsk käivitub, kui eelmine käsk ebaõnnestub. Järgmises näites on operaatoriga OR (||) ühendatud kolm kasskäsku. Käsu käivitamisel proovib see kõigepealt kuvada faili cat.txt sisu. Kui praeguses asukohas sellist faili pole, proovib see käivitada järgmise käsu. Väljundi kohaselt eksisteerib praeguses asukohas fail bird.txt ja kuvatakse selle faili sisu.

$ kass cat.txt || kassikoer.txt || kassilind.txt

Mitu käsku mitme operaatoriga

Korraga mitme käsu käivitamiseks saate kasutada mitut operaatorit. Järgmises näites on kolm käsku ühendatud operaatoritega OR (||) ja AND (&&). Pärast käsu käivitamist muudab see esmalt kataloogi uueks kataloogiks, kui see on olemas. Kui see käsk ebaõnnestub, loob see kataloogi teise käsu täitmisega ja prindib sõnumi, kataloog luuakse. Väljundi järgi kataloogi newdir praeguses asukohas ei eksisteeri. Seega kuvatakse veateade ja kataloog luuakse hiljem.

$CDnewdir|| mkdirnewdir&& viskas välja 'kataloog on loodud'

Kombineeritud operaator {}

Selle operaatori abil saab kombineerida kahte või enamat käsku ja kui esimese käsu täitmine ebaõnnestub, siis teist käsku ei täideta. Järgmises näites kasutatakse OR, AND ja kombineeritud operaatoreid koos. Esimesed käsud kontrollivad, kas ajutine kataloog on praeguses asukohas olemas või mitte. Kui esimene käsk ebaõnnestub, loob see ajutise kataloogi ja prindib sõnumi. Viimane käsk näitab praegust kataloogide loendit.

$[ -dtemp] || { mkdirtemp;viskas väljatemp kataloog on loodud praegu .;} && ls

Eelisoperaator ()

Seda operaatorit saate kasutada käskude rühmitamiseks täitmise ajal. Siin töötab iga rühm ühe ülesandena. Järgmises näites on määratletud kaks käsurühma ja kui esimene rühm ei suuda käivitada, täidab teine ​​rühm.

$(CDtemp&& ls-juurde) || (mkdirtemp&& ls)

Järeldus

See õpetus selgitas kõige sagedamini kasutatavaid operaatoreid Linuxis mitme käsu käivitamiseks. Kuid bashis on ka palju teisi operaatoreid, mida kasutatakse kahe või enama käsu koos käivitamiseks. Need on & -märk (&), ümbersuunamine (, >>), loogiline EI (!), Kombinatsioon ({}) jne.