Meerdere opdrachten uitvoeren in Linux

How Run Multiple Commands Linux



Er zijn verschillende soorten opdrachten nodig om vanaf de terminal in Linux te worden uitgevoerd. Soms moeten we meerdere opdrachten tegelijk uitvoeren waarbij de opdrachten al dan niet van elkaar afhankelijk kunnen zijn. Meerdere commando's tegelijk uitvoeren wordt command chaining genoemd. Veel soorten operators kunnen voor verschillende doeleinden worden gebruikt voor het koppelen van opdrachten. In deze zelfstudie wordt getoond hoe u twee of meer opdrachten kunt uitvoeren met behulp van de meest gebruikte operators.

pipe(|) operator wordt gebruikt om twee of meer gerelateerde opdrachten tegelijk uit te voeren. De invoer van de volgende opdracht is de uitvoer van de vorige opdracht. Het succes van elk commando hangt dus af van het succes van het eerdere commando zonder het eerste commando. In de volgende opdracht, de eerste opdracht, ls zal de lijst met bestanden en mappen van de huidige locatie achterhalen en de uitvoer verzenden als invoer voor de tweede opdracht, wc . Het zal het totale aantal regels, woorden en tekens afdrukken op basis van de invoergegevens.







$ls -de | wc gelukkig



Puntkomma (;) Operator

De operator Puntkomma(;) wordt gebruikt om twee of meer niet-gerelateerde opdrachten tegelijk uit te voeren. Dit betekent dat de uitvoer van elk commando niet afhankelijk is van andere commando's. In het volgende voorbeeld worden drie soorten opdrachten gecombineerd en het mislukken van elke opdracht heeft geen effect op de uitvoer van andere opdrachten. Het eerste commando drukt de inhoud van een bestand af, het tweede commando maakt een directory aan en het derde commando verandert de huidige directory.



$katmijnbestand.txt ;mkdirnieuwedir;CDBureaublad





Logische AND (&&) operator

De commando's die worden uitgevoerd door Logical AND (&&) zijn aan elkaar gerelateerd zoals pipe (|) commando. Dus als de vorige opdracht niet succesvol wordt uitgevoerd, zullen de volgende opdrachten niet werken. In het volgende voorbeeld worden twee opdrachten, mkdir en rmdir gecombineerd door &&-operators. Dus het mkdir-commando kan niet met succes worden uitgevoerd, dan wordt het rmdir-commando niet uitgevoerd. Volgens de uitvoer van de opdracht ls bestaat de map myDir al op de huidige locatie. Dus de eerste opdracht wordt niet uitgevoerd en voor deze tweede opdracht ook niet.

$ls
$mkdirmijnDir&& rmdirtemp
$ls



Logische OR (||) operator

Logische OR (||) operator is het tegenovergestelde van de Logische AND (&&) operator. De volgende opdracht wordt uitgevoerd als de vorige opdracht niet kan worden uitgevoerd. In het volgende voorbeeld worden drie cat-commando's gecombineerd met de operator OR (||). Wanneer u het commando uitvoert, zal het allereerst proberen de inhoud van het cat.txt-bestand weer te geven. Als zo'n bestand niet bestaat op de huidige locatie, zal het proberen de volgende opdracht uit te voeren. Volgens de uitvoer bestaat het bestand bird.txt op de huidige locatie en wordt de inhoud van dit bestand weergegeven.

$ kat kat.txt || kat hond.txt || kat vogel.txt

Meerdere opdrachten met meerdere operators

U kunt meerdere operators gebruiken om meerdere opdrachten tegelijk uit te voeren. In het volgende voorbeeld worden drie opdrachten gecombineerd met OR (||) en AND (&&) operators. Nadat de opdracht is uitgevoerd, wordt eerst de huidige map gewijzigd in newdir als de map bestaat. Als deze opdracht mislukt, wordt de map gemaakt door de tweede opdracht uit te voeren en het bericht af te drukken, de map is gemaakt. Volgens de uitvoer bestaat de map newdir niet op de huidige locatie. Het foutbericht wordt dus weergegeven en de map wordt later gemaakt.

$CDnieuwe dir|| mkdirnieuwe dir&& gooide uit 'map is aangemaakt'

Combinatie-operator {}

Met deze operator kunnen twee of meer opdrachten worden gecombineerd en als de uitvoering van de eerste opdracht mislukt, wordt de tweede opdracht niet uitgevoerd. In het volgende voorbeeld worden OR-, AND- en combinatieoperatoren samen gebruikt. De eerste opdrachten zullen controleren of de tijdelijke map op de huidige locatie bestaat of niet. Als de eerste opdracht mislukt, wordt een tijdelijke map gemaakt en wordt een bericht afgedrukt. De laatste opdracht toont de huidige directorylijst.

$[ -NStemp] || { mkdirtemperatuur;gooide uittemp directory is nu aangemaakt.;} && ls

Voorrangsoperator ()

U kunt deze operator gebruiken voor het groeperen van de opdrachten op het moment van uitvoering. Hier werkt elke groep als een enkele taak. In het volgende voorbeeld zijn twee opdrachtgroepen gedefinieerd en als de eerste groep niet kan worden uitgevoerd, wordt de tweede groep uitgevoerd.

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

Conclusie

Deze tutorial legde de meest gebruikte operators uit voor het uitvoeren van meerdere commando's in Linux. Maar er zijn veel andere operators in bash die worden gebruikt om twee of meer opdrachten samen uit te voeren. Dit zijn ampersand (&), omleiding (,>>), Logisch NIET (!), Combinatie ({}) etc.