Kako zagnati več ukazov v Linuxu

How Run Multiple Commands Linux



Za zagon iz terminala v Linuxu so potrebne različne vrste ukazov. Včasih moramo hkrati izvajati več ukazov, kjer so ukazi lahko odvisni drug od drugega ali ne. Izvajanje več ukazov hkrati se imenuje ukazovanje. Za povezovanje ukazov za različne namene je mogoče uporabiti številne vrste operaterjev. V tem vodiču je prikazano, kako lahko z najpogosteje uporabljenimi operaterji izvedete dva ali več ukazov.

Operater pipe (|) se uporablja za izvajanje dveh ali več povezanih ukazov hkrati. Vnos naslednjega ukaza bo izhod prejšnjega ukaza. Uspeh vsakega ukaza je torej odvisen od uspeha prejšnjega ukaza brez prvega ukaza. V naslednjem ukazu je prvi ukaz, ls bo izvedel seznam datotek in map trenutne lokacije ter poslal izhod kot vhod za drugi ukaz, stranišče . Natisnil bo skupno število vrstic, besed in znakov na podlagi vhodnih podatkov.







$ls - | stranišče na srečo



Operator podpičje (;)

Operator polkrog (;) se uporablja za izvajanje dveh ali več nepovezanih ukazov hkrati. To pomeni, da izhod vsakega ukaza ni odvisen od drugih ukazov. V naslednjem primeru so združene tri vrste ukazov in neuspeh vsakega ukaza ne bo vplival na izpis drugih ukazov. Prvi ukaz bo natisnil vsebino datoteke, drugi ukaz bo imenik in tretji ukaz bo spremenil trenutni imenik.



$mačkamyfile.txt;mkdirnewdir;CDNamizni računalnik





Logični operator AND (&&)

Ukazi, ki jih izvaja Logical AND (&&), so med seboj povezani, na primer ukaz pipe (|). Torej, če se prejšnji ukaz ne izvede uspešno, naslednji ukazi ne bodo delovali. V naslednjem primeru dva ukaza, mkdir in rmdir, združita operaterja &&. Ukaz mkdir se torej ne izvede uspešno, ukaz rmdir pa se ne izvede. V skladu z izhodom ukaza ls imenik myDir že obstaja na trenutni lokaciji. Torej prvi ukaz ne bo izveden in tudi ta drugi ukaz se ne bo izvajal.

$ls
$mkdirmyDir&& rmdirtemp
$ls



Logični operator OR (||)

Logični operater OR (||) je nasprotje logičnega operaterja AND (&&). Naslednji ukaz se izvede, če prejšnji ukaz ne uspe. V naslednjem primeru so trije ukazi cat združeni z operatorjem OR (||). Ko zaženete ukaz, bo najprej poskušal prikazati vsebino datoteke cat.txt. Če taka datoteka ne obstaja na trenutni lokaciji, bo poskušala izvesti naslednji ukaz. Glede na izhodno datoteko obstaja datoteka bird.txt na trenutni lokaciji in prikazana je vsebina te datoteke.

$ cat cat.txt || mačka dog.txt || mačka ptica.txt

Več ukazov z več operaterji

Za izvajanje več ukazov hkrati lahko uporabite več operaterjev. V naslednjem primeru so trije ukazi združeni z operatorjema OR (||) in AND (&&). Po zagonu ukaza bo najprej spremenil trenutni imenik v newdir, če imenik obstaja. Če ta ukaz ne uspe, bo ustvaril imenik z izvedbo drugega ukaza in natisnil sporočilo, imenik je ustvarjen. Glede na izpis, imenik newdir na trenutni lokaciji ne obstaja. Tako se prikaže sporočilo o napaki in imenik se ustvari pozneje.

$CDnewdir|| mkdirnewdir&& vrgel ven 'imenik je ustvarjen'

Kombinirani operater {}

S tem operaterjem lahko združite dva ali več ukazov in če neuspešno izvedete prvi ukaz, se drugi ukaz ne izvede. V naslednjem primeru se operaterji OR, AND in kombinacije uporabljajo skupaj. Prvi ukazi bodo preverili, ali imenik temp obstaja na trenutni lokaciji ali ne. Če prvi ukaz ne uspe, bo ustvaril začasni imenik in natisnil sporočilo. Zadnji ukaz bo prikazal trenutni seznam imenikov.

$[ -dtemp] || { mkdirtemp;vrgel venimenik temp je zdaj ustvarjen .;} && ls

Operator prednosti ()

Ta operater lahko uporabite za združevanje ukazov v času izvajanja. Tu bo vsaka skupina delovala kot ena naloga. V naslednjem primeru sta definirani dve ukazni skupini in če se prva skupina ne izvede, se bo izvedla druga skupina.

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

Zaključek

Ta vadnica je razložila najpogosteje uporabljene operaterje za izvajanje več ukazov v Linuxu. Toda v bashu obstaja še veliko drugih operaterjev, ki se uporabljajo za izvajanje dveh ali več ukazov skupaj. To so znak & (), preusmeritev (, >>), logično NE (!), Kombinacija ({}) itd.