2024 Forfatter: Peter John Melton | [email protected]. Sidst ændret: 2023-12-16 04:48
Kombination af to eller flere kommandoer på kommandolinjen er også kendt som "command chaining". Vi viser dig forskellige måder, du kan kombinere kommandoer på kommandolinjen.
Mulighed 1: Semikolon (;) Operatør
Operatøren semicolon (;) giver dig mulighed for at udføre flere kommandoer i rækkefølge, uanset om hver foregående kommando lykkes. For eksempel åbne et Terminal vindue (Ctrl + Alt + T i Ubuntu og Linux Mint). Indtast derefter følgende tre kommandoer på en linje, adskilt af semikolon, og tryk på Enter. Dette giver dig en oversigt over den aktuelle mappe (
ls
), find ud af, hvilken mappe du er i øjeblikket (
pwd
), og vis dit login navn (
whoami
) alt på en gang.
ls; pwd; whoami
Du behøver heller ikke at placere mellemrum mellem semikolonerne og kommandoerne. Du kan indtaste de tre kommandoer som
ls;pwd;whoami
. Men mellemrum gør den kombinerede kommando mere læsbar, hvilket er især nyttigt, hvis du lægger en kombineret kommando i et shell script.
Mulighed to: Den logiske og operatør (&&)
Hvis du vil have den anden kommando kun køre, hvis den første kommando er vellykket, skal du adskille kommandoerne med den logiske OG-operatør, som er to ampersands (
&&
). For eksempel ønsker vi at lave en mappe kaldet MyFolder og derefter skifte til den pågældende mappe, forudsat at den blev oprettet. Så skriver vi følgende på kommandolinjen og trykker på Enter.
mkdir MyFolder && cd MyFolder
Mappen blev oprettet, så den
cd
kommandoen blev henrettet, og vi er nu i den nye mappe.
Vi anbefaler at bruge den logiske OG-operatør i stedet for semikolonoperatøren det meste af tiden (
;
). Dette sikrer, at du ikke gør noget katastrofalt. For eksempel, hvis du kører en kommando for at skifte til en mappe og derefter tvinge fjerne alt i den pågældende mappe rekursivt (
cd /some_directory; rm -Rf *
), kan du ende med at ødelægge dit system, hvis mappeændringen ikke skete. Ikke at vi anbefaler, at du løber en kommando for ubetinget at fjerne alle filer i en mappe på én gang.
Valgmulighed Tre: Den logiske eller operatør (||)
Nogle gange kan du kun udføre en anden kommando, hvis den første kommando gør det ikkelykkes. For at gøre dette bruger vi den logiske OR-operatør eller to vertikale stave (
||
). For eksempel ønsker vi at kontrollere, om MyFolder-biblioteket eksisterer (
[ -d ~/MyFolder ]
) og opret den, hvis den ikke gør det (
mkdir ~/MyFolder
). Så vi indtaster følgende kommando ved prompten og trykker på Enter.
[ -d ~/MyFolder ] || mkdir ~/MyFolder
Sørg for, at der er plads efter den første beslag og før den anden beslag eller den første kommando, der kontrollerer, om mappen eksisterer, virker ikke.
I vores eksempel eksisterer MyFolder-mappen ikke, så den anden kommando opretter mappen.
Kombination af flere operatører
Du kan også kombinere flere operatører på kommandolinjen. For eksempel vil vi først kontrollere, om der findes en fil (
[ -f ~/sample.txt ]
). Hvis det gør det, udskriver vi en besked til skærmen og siger det (
echo “File exists.”
). Hvis ikke, opretter vi filen (
touch ~/sample.txt
). Så skriver vi følgende på kommandoprompten og trykker på Enter.
[ -f ~/sample.txt ] && echo “File exists.” || touch ~/sample.txt
I vores eksempel eksisterede filen ikke, så den blev oprettet.
-
A; B
- Kør A og derefter B, uanset succesen eller fejlen i A
-
A && B
- Kør kun B, hvis A lykkes
-
A || B
- Kør kun B, hvis A mislykkedes
Alle disse metoder til at kombinere kommandoer kan også bruges i shell scripts på både Linux og Windows 10.
Du kan også automatisk korrigere stavning og skrivefelter, når du bruger "cd" på kommandolinjen i Linux for at undgå drastiske konsekvenser, når du kombinerer kommandoer.
Anbefalede:
Sådan tænder eller slukker du flere smarte lamper til en gang med strenge
Hver nat, når jeg går i seng, vil jeg slukke alle mine lys … undtagen soveværelset lys. Jeg vil gerne tænde lyset ved sengetid. Ved hjælp af Stringify kan jeg endelig oprette en enkelt talekommando, der slukker for nogle lys og andre.
M-cli forenkler macOS 'bedste terminalkommandoer til begyndere
Du kan gøre meget med macOS Terminal, men kommandoerne er tilbøjelige til at være forvirrende. Et gratis program kaldet m-cli regner selv en schweizisk hærkniv til macOS, og det gør mange af disse skjulte kommandoer meget lettere at lære og opdage.
Sådan logger du på to eller flere Skype-konti på en gang
Skype tilbyder ikke en indlysende måde at bruge flere konti på samtidigt. Du behøver ikke logge ud og logge ind igen - du kan logge ind på så mange Skype-konti som du vil via web-, Windows-, Mac- eller Linux Skype-applikationer.
Sådan eksporteres flere kontakter i Outlook 2013 til flere vCards eller et enkelt vCard
Vi har vist dig, hvordan du eksporterer en kontakt til og importerer en kontakt fra en vCard-fil (.vcf). Hvad hvis du vil eksportere flere kontakter samtidig til flere vCard-filer eller endda en enkelt vCard-fil?
Sådan multitask i Linux Terminal: 3 måder at bruge flere skaller på en gang
Linux-terminalen har rige multitasking-funktioner. Du kan skifte mellem de virtuelle konsoller, der allerede kører på dit system, bruge Bash jobkontrol til at køre processer i baggrunden og drage fordel af GNU-skærmen, en terminal "vinduesmanager".