Kaip paleisti kelias komandas „Linux“

How Run Multiple Commands Linux



Norint paleisti „Linux“ terminalą, reikia skirtingų tipų komandų. Kartais mums reikia vykdyti kelias komandas vienu metu, kai komandos gali priklausyti viena nuo kitos ar ne. Kelių komandų vykdymas vienu metu vadinamas komandų grandine. Daugelio tipų operatoriai gali būti naudojami komandų grandinėms skirtingais tikslais. Šiame vadove parodyta, kaip galite paleisti dvi ar daugiau komandų naudodami dažniausiai naudojamus operatorius.

pipe (|) operatorius naudojamas paleisti dvi ar daugiau susijusių komandų vienu metu. Kitos komandos įvestis bus ankstesnės komandos išvestis. Taigi kiekvienos komandos sėkmė priklauso nuo ankstesnės komandos sėkmės be pirmosios komandos. Šioje komandoje pirmoji komanda, ls sužinos dabartinės vietos failų ir aplankų sąrašą ir išsiųs išvestį kaip antrosios komandos įvestį, wc . Pagal įvesties duomenis bus išspausdintas bendras eilučių, žodžių ir simbolių skaičius.







$ls -jie | wc laimei



Kabliataškis (;) Operatorius

Kablelis (;) operatorius yra įpratęs vienu metu vykdyti dvi ar daugiau nesusijusių komandų. Tai reiškia, kad kiekvienos komandos išvestis nepriklauso nuo kitų komandų. Šiame pavyzdyje trys komandų tipai yra sujungti ir kiekvienos komandos nesėkmė nesukels efekto kitų komandų rezultatams. Pirmoji komanda atspausdins failo turinį, antroji komanda sudarys katalogą, o trečioji komanda pakeis esamą katalogą.



$katėmyfile.txt;mkdirnewdir;CDStalinis kompiuteris





Loginis IR (&&) operatorius

Komandos, kurias vykdo „Logical AND“ (&&), yra susijusios viena su kita kaip „pipe“ (|) komanda. Taigi, jei ankstesnė komanda nebus sėkmingai vykdoma, kitos komandos neveiks. Šiame pavyzdyje dvi komandos, mkdir ir rmdir, sujungtos && operatorių. Taigi mkdir komandai nepavyko sėkmingai įvykdyti, tada komanda rmdir nebus vykdoma. Remiantis komandos ls išvestimi, „myDir“ katalogas jau egzistuoja dabartinėje vietoje. Taigi pirmoji komanda nebus vykdoma, o antroji - taip pat nebus vykdoma.

$ls
$mkdirmyDir&& rmdirtemp
$ls



Loginis ARBA (||) operatorius

Loginis OR (||) operatorius yra priešingas loginiam AND (&&) operatoriui. Kita komanda bus vykdoma, jei ankstesnės komandos nepavyks įvykdyti. Šiame pavyzdyje trys katės komandos yra sujungtos su OR (||) operatoriumi. Kai paleisite komandą, pirmiausia ji bandys parodyti failo cat.txt turinį. Jei tokio failo dabartinėje vietoje nėra, jis bandys vykdyti kitą komandą. Pagal išvestį, failas bird.txt egzistuoja dabartinėje vietoje ir rodomas šio failo turinys.

$ cat cat.txt || katinas šuo.txt || katė paukštis.txt

Kelios komandos su keliais operatoriais

Galite naudoti kelis operatorius, kad vienu metu paleistumėte kelias komandas. Šiame pavyzdyje trys komandos yra sujungtos su OR (||) ir AND (&&) operatoriais. Paleidus komandą, pirmiausia ji pakeis dabartinį katalogą į newdir, jei katalogas egzistuoja. Jei ši komanda nepavyks, ji sukurs katalogą vykdydama antrąją komandą ir išspausdins pranešimą, katalogas bus sukurtas. Pagal išvestį, newdir katalogo dabartinėje vietoje nėra. Taigi, rodomas klaidos pranešimas ir katalogas sukuriamas vėliau.

$CDnewdir|| mkdirnewdir&& išmetė „katalogas sukurtas“

Kombinuotas operatorius {}

Naudojant šį operatorių galima sujungti dvi ar daugiau komandų, o jei pirmoji komanda nepavyksta, antroji komanda nebus vykdoma. Šiame pavyzdyje OR, AND ir kombinaciniai operatoriai naudojami kartu. Pirmosios komandos patikrins, ar laikinasis katalogas egzistuoja dabartinėje vietoje, ar ne. Jei pirmoji komanda nepavyksta, ji sukurs laikiną katalogą ir išspausdins pranešimą. Paskutinė komanda parodys dabartinį katalogų sąrašą.

$[ -dtemp] || { mkdirtemperatūra;išmetėtemp katalogas sukurtas dabar .;} && ls

Pirmenybės operatorius ()

Šį operatorių galite naudoti komandoms grupuoti vykdymo metu. Čia kiekviena grupė dirbs kaip viena užduotis. Šiame pavyzdyje yra apibrėžtos dvi komandų grupės, o jei pirmajai grupei nepavyksta įvykdyti, tada vykdoma antroji grupė.

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

Išvada

Ši pamoka paaiškino dažniausiai naudojamus operatorius kelioms komandoms paleisti „Linux“. Tačiau „bash“ yra daug kitų operatorių, kurie naudojami kartu vykdyti dvi ar daugiau komandų. Tai yra simbolis „&“, peradresavimas (, >>), loginis NE (!), Derinys ({}) ir kt.