Sådan køres flere kommandoer i Linux

How Run Multiple Commands Linux



Der kræves forskellige typer kommandoer for at køre fra terminalen i Linux. Nogle gange skal vi køre flere kommandoer ad gangen, hvor kommandoerne kan afhænge af hinanden eller ej. At køre flere kommandoer på én gang kaldes kommandokæder. Mange typer operatører kan bruges til kommandokæder til forskellige formål. Hvordan du kan køre to eller flere kommandoer ved hjælp af de mest almindeligt anvendte operatorer, er vist i denne vejledning.

pipe (|) operator bruges til at køre to eller flere relaterede kommandoer ad gangen. Indtastningen af ​​den næste kommando er output fra den forrige kommando. Så succesen for hver kommando afhænger af succesen med tidligere kommando uden første kommando. I den følgende kommando, den første kommando, ls finder ud af listen over filer og mapper for den aktuelle placering og sender output som input til den anden kommando, Toilet . Det vil udskrive det samlede antal linjer, ord og tegn baseret på inputdataene.







$ls -det | Toilet heldigvis



Semikolon (;) Operatør

Semikolon (;) -operatør er vant til at køre to eller flere ikke -relaterede kommandoer ad gangen. Dette betyder, at output fra hver kommando ikke er afhængig af andre kommandoer. I det følgende eksempel kombineres tre typer kommandoer sammen, og fejl i hver kommando vil ikke skabe effekt på output fra andre kommandoer. Den første kommando udskriver indholdet af en fil, den anden kommando opretter et bibliotek, og den tredje kommando ændrer det aktuelle bibliotek.



$katmyfile.txt;mkdirnewdir;CDSkrivebord





Logisk AND (&&) operatør

Kommandoerne, der køres af Logical AND (&&) er relateret til hinanden som pipe (|) kommando. Så hvis den forrige kommando ikke vil blive udført med succes, fungerer de næste kommandoer ikke. I det følgende eksempel to kommandoer, mkdir og rmdir kombineret af && operatorer. Så mkdir -kommandoen kunne ikke udføres med succes, og kommandoen rmdir udføres ikke. Ifølge output fra ls -kommandoen findes myDir -biblioteket allerede på den aktuelle placering. Så den første kommando vil ikke blive udført, og for denne anden kommando vil den heller ikke blive udført.

$ls
$mkdirmyDir&& rmdirMidlertidig
$ls



Logisk ELLER (||) operator

Logisk OR (||) operator er det modsatte af logisk AND (&&) operator. Den næste kommando udføres, hvis den forrige kommando ikke udføres. Tre katkommandoer kombineres med OR (||) operatoren i det følgende eksempel. Når du vil køre kommandoen, vil den først og fremmest forsøge at vise indholdet af cat.txt -filen. Hvis der ikke findes en sådan fil på den aktuelle placering, vil den prøve at udføre den næste kommando. Ifølge output findes der bird.txt -fil på den aktuelle placering, og indholdet i denne fil vises.

$ kat kat.txt || kat hund.txt || kat fugl.txt

Flere kommandoer med flere operatører

Du kan bruge flere operatører til at køre flere kommandoer ad gangen. I det følgende eksempel kombineres tre kommandoer med OR (||) og AND (&&) operatorer. Efter at have kørt kommandoen, vil den først og fremmest ændre den aktuelle mappe til newdir, hvis biblioteket findes. Hvis denne kommando mislykkes, vil den oprette biblioteket ved at udføre den anden kommando og udskrive meddelelsen, biblioteket oprettes. Ifølge output findes newdir -biblioteket ikke på den aktuelle placering. Så fejlmeddelelsen vises, og biblioteket oprettes senere.

$CDnewdir|| mkdirnewdir&& smed ud 'bibliotek er oprettet'

Kombinationsoperatør {}

To eller flere kommandoer kan kombineres ved hjælp af denne operator, og hvis udførelsen af ​​den første kommando mislykkes, vil den anden kommando ikke blive udført. I det følgende eksempel bruges OR, AND og kombinationsoperatorer sammen. De første kommandoer kontrollerer, at temp -biblioteket findes på den aktuelle placering eller ej. Hvis den første kommando mislykkes, vil den oprette et midlertidigt bibliotek og udskrive en meddelelse. Den sidste kommando viser den aktuelle bibliotekliste.

$[ -dMidlertidig] || { mkdirMidlertidig;smed udtemp bibliotek oprettes nu .;} && ls

Prioritetsoperatør ()

Du kan bruge denne operator til at gruppere kommandoerne på tidspunktet for udførelsen. Her vil hver gruppe arbejde som en enkelt opgave. I det følgende eksempel er to kommandogrupper defineret, og hvis den første gruppe ikke eksekveres, udføres den anden gruppe.

$(CDMidlertidig&& ls-til) || (mkdirMidlertidig&& ls)

Konklusion

Denne vejledning forklarede de mest brugte operatører til at køre flere kommandoer i Linux. Men der er mange andre operatører, der findes i bash, der bruges til at køre to eller flere kommandoer sammen. Disse er ampersand (&), omdirigering (, >>), logisk IKKE (!), Kombination ({}) osv.