Hemsida » hur » Så här kör du två eller flera terminalkommandon på en gång i Linux

    Så här kör du två eller flera terminalkommandon på en gång i Linux

    Om du använder Linux vet du hur användbart kommandoraden kan vara för att arbeta med filer, installera programvara och starta program. Men det kan vara ännu mer effektivt om du kör flera kommandon samtidigt.

    Kombinera två eller flera kommandon på kommandoraden är också känd som "kommandokedja". Vi visar dig olika sätt att kombinera kommandon på kommandoraden.

    Alternativ En: Semikolon (;) Operatör

    Operatören semicolon (;) låter dig utföra flera kommandon i följd, oavsett om varje tidigare kommando lyckas. Öppna till exempel ett terminalfönster (Ctrl + Alt + T i Ubuntu och Linux Mint). Skriv sedan följande tre kommandon på en rad, åtskilda av semikolon och tryck på Enter. Detta ger dig en lista över den aktuella katalogen ( ls ), ta reda på vilken katalog du befinner dig i ( pwd ) och visa ditt inloggningsnamn ( vem är jag ) allt på en gång.

    ls; pwd; vem är jag

    Du behöver inte heller placera mellanslag mellan semikolonerna och kommandona. Du kan ange de tre kommandona som ls; pwd; whoami . Men mellanslag gör det kombinerade kommandot mer läsbart, vilket är särskilt användbart om du lägger ett kombinerat kommando i ett skalskript.

    Alternativ två: den logiska och operatören (&&)

    Om du vill att det andra kommandot endast ska köras om det första kommandot är framgångsrikt, separera kommandon med den logiska AND-operatören, som är två ampersands ( && ). Till exempel vill vi skapa en katalog som heter MyFolder och sedan byta till den katalogen, förutsatt att den har skapats. Så vi skriver följande på kommandoraden och trycker på Enter.

    mkdir MyFolder && cd MyFolder

    Mappen skapades med framgång, så CD kommandot utfördes och vi är nu i den nya mappen.

    Vi rekommenderar att du använder den logiska AND-operatören i stället för semikolonoperatören det mesta (;). Detta säkerställer att du inte gör något katastrofalt. Om du till exempel kör ett kommando för att byta till en katalog och sedan tvinga bort allt i den katalogen rekursivt ( cd / some_directory; rm -Rf * ) kan du förstöra ditt system om katalogen ändras inte hänt. Inte att vi rekommenderar att du kör ett kommando för att villkorslöst ta bort alla filer i en katalog samtidigt.

    Alternativ Tre: Den Logiska OR Operatören (||)

    Ibland kanske du bara vill utföra ett andra kommando om det första kommandot gör det inte lyckas. För att göra detta använder vi den logiska OR-operatören, eller två vertikala stänger ( || ). Vi vill till exempel kontrollera om MyFolder-katalogen finns ( [-d ~ / MyFolder] ) och skapa det om det inte gör det ( mkdir ~ / MyFolder ). Så vi skriver följande kommando vid prompten och trycker på Enter.

    [-d ~ / MyFolder] || mkdir ~ / MyFolder

    Se till att det finns ett mellanslag efter den första fästet och innan den andra fästet eller det första kommandot som kontrollerar om katalogen finns kommer inte att fungera.

    I vårt exempel finns inte MyFolder-katalogen, så det andra kommandot skapar katalogen.

    Kombinera flera operatörer

    Du kan också kombinera flera operatörer på kommandoraden. Till exempel vill vi först kontrollera om det finns en fil ( [-f ~ / sample.txt] ). Om det gör det skriver vi ut ett meddelande till skärmen och säger så ( echo "Fil existerar." ). Om inte, skapar vi filen ( touch ~ / sample.txt ). Så vi skriver följande vid kommandotolken och trycker på Enter.

    [-f ~ / sample.txt] && echo "Fil existerar." || touch ~ / sample.txt

    I vårt exempel existerade inte filen, så den skapades.

    Här är en användbar sammanfattning av var och en av operatörerna som används för att kombinera kommandon:

    •  A; B  - Kör A och B, oavsett framgång eller misslyckande av A
    •  A && B  - Kör endast B om A lyckats
    •  A || B  - Kör B endast om A misslyckades

    Alla dessa metoder för att kombinera kommandon kan också användas i skalskript på både Linux och Windows 10.

    Du kan också automatiskt stava och stryka automatiskt när du använder "cd" på kommandoraden i Linux för att undvika drastiska konsekvenser när du kombinerar kommandon.