Bash är en tolk för kommandospråk. Det är en standardkommandotolkare på de flesta GNU/ Linux-system och är allmänt tillgänglig på olika operativsystem. Namnet är en förkortning för Bourne-Again SHell . Skript möjliggör exekvering av instruktioner som annars skulle exekveras en efter en interaktivt.
konvertera från sträng till heltals java
I den här artikeln kommer vi att diskutera om if-uttalande i bash-skript.
Bash If uttalande
Den grundläggande syntaxen för en 'if'-sats i Bash:
#!/bin/bash if [ condition ]; then # code to be executed if the condition is true fi>
Förklaring:
-
if [ condition ]; then>: Den här raden startar if-satsen, därcondition>är uttrycket som utvärderas. Om villkoret är sant, koden inutithen>blocket exekveras. -
# code to be executed if the condition is true>: Detta är kodblocket som exekveras om villkoret som anges i if-satsen är sant. -
fi>: Detta markerar slutet på if-satsen.
Bash-skript för att avgöra om ett tal är jämnt
Följande är ett exempel manus som kommer att uppmana dig att mata in ett nummer och sedan kontrollerar det om det givna numret är jämnt.
#!/usr/bin/bash
# Det här skriptet uppmanar användaren att ange ett nummer, kontrollerar om det är jämnt och skriver ut ett meddelande därefter.
# Be användaren att ange ett nummerecho -n Ange nummer:
läs x# Kontrollera om det angivna numret är jämnt
if [ $((x % 2)) == 0 ]; sedan
echo Number är jämnt
vara
Förklaring:
-
#!/usr/bin/bash>: Detta är en shebang-rad som anger vägen till Bash-tolken. Det indikerar att skriptet ska köras med Bash. -
echo -n 'Enter Number: '>: Den här raden skriver ut uppmaningen Ange nummer: utan ett nyradstecken (-n>alternativ). Den väntar på att användaren ska ange ett nummer. -
read x>: Läser användarinmatningen och tilldelar den till variabelnx>. -
if [ $((x % 2)) == 0 ]; then>: Den här raden kontrollerar om resten av divisionen av det angivna numret (x>) med 2 är lika med 0. Om sant betyder det att talet är jämnt. -
echo 'Number is Even'>: Om villkoret i if-satsen är sant, skriver den här raden Number is Even till konsolen.
Produktion:

Bash-skript för att avgöra om ett tal är jämnt
Notera: Skriptet hanterar inte fall där användaren anger ett icke-numeriskt värde. Om användaren anger ett icke-numeriskt värde kan det ge oväntade resultat. Ytterligare indatavalidering kan läggas till för att åtgärda detta.
Bash if-else uttalande
Den grundläggande syntaxen för en 'om-else'-sats i Bash:
#!/bin/bash
if [villkor]; sedan
# kod som ska köras om villkoret är sant
annan
# kod som ska köras om villkoret är falskt
vara
Förklaring:
-
if [ condition ]; then>: Den här raden startar if-satsen, därcondition>är uttrycket som utvärderas. Om villkoret är sant, koden inutithen>blocket exekveras. -
# code to be executed if the condition is true>: Detta är kodblocket som exekveras om villkoret som anges i if-satsen är sant. -
else>: Om villkoret i if-satsen är falskt, koden inutielse>blocket exekveras. -
# code to be executed if the condition is false>: Detta är kodblocket som exekveras om villkoret som anges i if-satsen är falskt. -
fi>: Detta markerar slutet på if-else-satsen.
Hur hittar man det större antalet med if-else-satser i Bash Script?
Här är Bash-skriptet för att ta reda på det större antalet med if-else-satsen i Bash Script.
#!/bin/bash
# Be användaren att ange ett värde för xecho -n Ange värdet på x:
läs xif [ $x -gt 5 ]; sedan
eko x är större än 5
annan
echo x är inte större än 5
vara
Förklaring:
- #!/bin/bash : Den här raden kallas en shebang och indikerar att skriptet ska tolkas och köras med Bash-skalet.
- # Be användaren att ange ett värde för x : Detta är en kommentar som anger syftet med nästa rad.
- echo -n Ange värdet på x: : Denna rad skriver ut meddelandet Ange värdet på x: till terminalen utan att gå till nästa rad. Användaren anger sitt värde på samma rad.
- läs x : Den här raden läser användarens inmatning och tilldelar den till variabeln 'x'.
- if [ $x -gt 5 ]; sedan : Detta är en if-sats som kontrollerar om värdet på 'x' är större än 5.
- $x : Representerar värdet på variabeln 'x'.
- -gt : Står för större än i samband med numerisk jämförelse.
- 5 : Värdet som jämförs mot.
- eko x är större än 5 : Om villkoret i föregående rad är sant, kommer denna rad att exekveras, utskrift x är större än 5 till terminalen.
- annan : Om villkoret i if-satsen är falskt, hoppar skriptet till else-blocket.
- echo x är inte större än 5 : Denna rad exekveras om värdet på 'x' inte är större än 5, utskrift av x är inte större än 5 till terminalen.
- vara : Detta betyder slutet på om-else-blocket.
Produktion:

Hitta ett större antal med if-else
Bash if-elif-else uttalande
Deif-elif-else>uttalande i Bash används för villkorlig förgrening. Det låter dig specificera flera villkor och exekvera olika kodblock baserat på utvärderingen av dessa villkor.
Den grundläggande syntaxen för ett 'if-elif-else' uttalande i Bash:
#!/bin/bash
if [villkor1]; sedan
# Kod som ska köras om villkor1 är sant
elif [villkor2]; sedan
# Kod som ska köras om villkor2 är sant
elif [villkor3]; sedan
# Kod som ska köras om villkor3 är sant
annan
# Kod som ska köras om inget av villkoren är sant
vara
Förklaring:
- if [villkor1]; sedan : Detta är utgångspunkten för
if-elif-else>påstående. Koden inom detta block kommer att exekveras omcondition1>är sant. - # Kod som ska köras om villkor1 är sant : Ersätt den här kommentaren med den faktiska koden du vill köra om
condition1>är sant. - elif [villkor2]; sedan : Om
condition1>är falsk, kontrolleras skriptetcondition2>. Omcondition2>är sant, exekveras koden inom detta block. - # Kod som ska köras om villkor2 är sant : Ersätt den här kommentaren med den faktiska koden du vill köra om
condition2>är sant. - elif [villkor3]; sedan : Om båda
condition1>ochcondition2>är falska, kontrolleras skriptetcondition3>. Omcondition3>är sant, exekveras koden inom detta block. - # Kod som ska köras om villkor3 är sant : Ersätt den här kommentaren med den faktiska koden du vill köra om
condition3>är sant. - annan : Om inget av de föregående villkoren (villkor1, villkor2, villkor3, etc.) är sant, kommer koden i
else>blocket exekveras. - # Kod som ska köras om inget av villkoren är sant : Ersätt den här kommentaren med den faktiska koden du vill köra om inget av villkoren är sant.
- vara : Detta markerar slutet på
if-elif-else>påstående. Ordet fi stavas baklänges och används för att stänga de villkorliga blocken i Bash.
Hur hittar man om siffran är positiv, negativ eller noll med hjälp av 'if-elif-else'-satsen i Bash?
Låt oss utöka koden i exemplet ovan för att lägga till villkoret för att kontrollera noll.
#!/bin/bash
# Be användaren att ange ett nummer
echo -n Ange ett nummer:
läs numif [ $num -gt 0 ]; sedan
echo $num är ett positivt tal.
elif [ $num -lt 0 ]; sedan
echo $num är ett negativt tal.
annan
echo $num är noll.
vara
Förklaring:
- #!/bin/bash : Den här raden är en rubrik som indikerar att skriptet ska tolkas och köras med Bash-skalet.
- # Be användaren att ange ett nummer : Detta är en kommentar som anger syftet med nästa rad.
- echo -n Ange ett nummer: : Denna rad skriver ut meddelandet Ange ett nummer: till terminalen utan att gå till nästa rad. Användaren anger sitt nummer på samma rad.
- läs num : Den här raden läser användarens inmatning och tilldelar den till variabeln 'num'.
- if [ $num -gt 0 ]; sedan : Detta är en if-sats som kontrollerar om värdet på 'num' är större än 0.
- $num : Representerar värdet på variabeln 'num'.
- -gt : Står för större än i samband med numerisk jämförelse.
- 0 : Värdet som jämförs mot.
- echo $num är ett positivt tal. : Om villkoret i föregående rad är sant, kommer denna rad att exekveras, utskrift av $num är ett positivt tal. till terminalen.
- elif [ $num -lt 0 ]; sedan : Om villkoret i if-satsen är falskt kontrollerar den här raden om värdet på 'num' är mindre än 0.
- $num : Representerar värdet på variabeln 'num'.
- -lt : Står för mindre än i samband med numerisk jämförelse.
- 0 : Värdet som jämförs mot.
- echo $num är ett negativt tal. : Om villkoret i elif-satsen är sant kommer denna rad att exekveras, utskrift av $num är ett negativt tal. till terminalen.
- annan : Om båda villkoren i if- och elif-satserna är falska, hoppar skriptet till else-blocket.
- echo $num är noll. : Denna rad exekveras om värdet på 'num' inte är större än 0 och inte mindre än 0, utskrift av $num är noll. till terminalen.
- vara : Detta betyder slutet på if-elif-else-blocket.
Produktion:

om siffran är positiv, negativ eller noll Använd 'if-elif-else'
Bash Nested if Statement
I Bash kan du använda kapsladeif>uttalanden för att skapa mer komplexa villkorsstrukturer. Här är syntaxen för en kapsladif>påstående:
#!/bin/bash
if [villkor1]; sedan
# Kod som ska köras om villkor1 är sant
if [villkor2]; sedan
# Kod som ska köras om villkor2 är sant
annan
# Kod som ska köras om villkor2 är falskt
vara
annan
# Kod som ska köras om villkor1 är falskt
vara
Förklaring:
- if [villkor1]; sedan : Detta är den yttre
if>påstående. Omcondition1>är sant exekveras koden inuti detta block. - # Kod som ska köras om villkor1 är sant : Ersätt den här kommentaren med den faktiska koden du vill köra om
condition1>är sant. - if [villkor2]; sedan : Inne i blocket på det yttre
if>uttalande, det finns ett inreif>påstående. Omcondition2>är sant exekveras koden inuti detta block. - # Kod som ska köras om villkor2 är sant : Ersätt den här kommentaren med den faktiska koden du vill köra om
condition2>är sant. - annan : Om
condition2>i det inreif>uttalandet är falskt, koden inutielse>block av det inreif>uttalandet körs. - # Kod som ska köras om villkor2 är falskt : Ersätt den här kommentaren med den faktiska koden du vill köra om
condition2>är falskt. - vara : Detta markerar slutet på det inre
if>påstående. - annan : Om
condition1>i det yttreif>uttalandet är falskt, koden inutielse>block av det yttreif>uttalandet körs. - # Kod som ska köras om villkor1 är falskt : Ersätt den här kommentaren med den faktiska koden du vill köra om
condition1>är falskt. - vara : Detta markerar slutet på den yttre
if>påstående.
Hur kontrollerar man åldersberättigande och pensionsförmåner i Bash med hjälp av Nested If-utlåtanden?
Låt oss justera koden ovan lite för att använda kapslade-if.
#!/bin/bash
# Be användaren att ange en ålder
echo -n Ange din ålder:
läsa ålderif [ $age -ge 18 ]; sedan
echo Du är röstberättigad.
if [ $age -ge 65 ]; sedan
echo Du är också berättigad till pensionärsförmåner.
annan
echo Du är ännu inte berättigad till pensionärsförmåner.
vara
annan
echo Du är inte berättigad att rösta ännu.
vara
Förklaring:
- #!/bin/bash : Den här raden är en rubrik som indikerar att skriptet ska tolkas och köras med Bash-skalet.
- # Be användaren att ange en ålder : Detta är en kommentar som anger syftet med nästa rad.
- echo -n Ange din ålder: : Denna rad skriver ut meddelandet Ange din ålder: till terminalen utan att flytta till nästa rad. Användaren anger sin ålder på samma rad.
- läsa ålder : Den här raden läser användarens inmatning och tilldelar den till variabeln 'ålder'.
- if [ $age -ge 18 ]; sedan : Detta är en if-sats som kontrollerar om värdet på 'ålder' är större än eller lika med 18.
- $ålder : Representerar värdet på variabeln 'ålder'.
- -ge : Står för större än eller lika med i samband med numerisk jämförelse.
- 18 : Värdet som jämförs mot.
- echo Du är röstberättigad. : Om villkoret i föregående rad är sant, kommer denna rad att exekveras, utskrift Du är berättigad att rösta. till terminalen.
- if [ $age -ge 65 ]; sedan : Inuti det första if-blocket är detta en annan if-sats som kontrollerar om värdet på 'ålder' är större än eller lika med 65.
- $ålder : Representerar värdet på variabeln 'ålder'.
- -ge : Står för större än eller lika med i samband med numerisk jämförelse.
- 65 : Värdet som jämförs mot.
- echo Du är också berättigad till pensionärsförmåner. : Om villkoret i det inre if-påståendet är sant, kommer denna rad att utföras, utskrift Du är också berättigad till pensionärsförmåner. till terminalen.
- annan : Om villkoret i den inre if-satsen är falsk, hoppar skriptet till else-blocket inuti den yttre if-satsen.
- echo Du är ännu inte berättigad till pensionärsförmåner. : Den här raden körs om värdet på 'ålder' inte är större än eller lika med 65, utskrift Du är ännu inte berättigad till pensionärsförmåner. till terminalen.
- vara : Detta betyder slutet på det inre om-else-blocket.
- annan : Om villkoret i den yttre if-satsen är falskt, hoppar skriptet till else-blocket.
- echo Du är inte berättigad att rösta ännu. : Den här raden exekveras om värdet på 'ålder' inte är större än eller lika med 18, utskrift Du är inte berättigad att rösta ännu. till terminalen.
- vara : Detta betyder slutet på det yttre om-else-blocket.
Produktion:

kapslade om du använder Bash
Vanliga frågor och några anmärkningar om KONDITION
Det här är några saker att tänka på när jag skriver testvillkor i bash.
xor i java
1. Säkerställ blanksteg mellan parenteserna och själva kontroll-/jämförelseutlåtandet.
Till exempel kommer följande inte att fungera.
if [$x==0]>Bash kommer att rapportera ett fel om en saknas ] .
2. Avsluta alltid raden innan du lägger till ett nytt nyckelord, som då.
Om, då, else, elif och fi alla är skalnyckelord, vilket betyder att de inte kan användas på samma rad. Sätt ett ; mellan föregående påstående och nyckelordet, eller starta en ny rad med nyckelordet.
3. För att använda många villkor i ett påstående, använd logiska operatorer.
Vi kan använda logiska AND(&&)- eller logiska ELLER(||)-operatorer för att använda flera villkor.
Till exempel:
if [[ $x -ge $y ]] && [[ $x -ge $z ]]; then echo 'x is greatest' fi>Här är -ge en förkortning för större än eller lika med
4. Hur jämför man strängar i en Bash if-sats?
Använd ` => `>operator för stränglikhet och ` !=`> för ojämlikhet.
Till exempel:
if [ '$string1' = '$string2' ]; then # Code to execute if strings are equal else # Code to execute if strings are not equal fi>
5. Kan jag använda reguljära uttryck i Bash if-satser?
Ja, du kan använda ` [[ ... ]]`> konstruktion för mer avancerad strängmatchning med reguljära uttryck.
Till exempel:
if [[ '$string' =~ ^[0-9]+$ ]]; then # Code to execute if the string contains only numbers else # Code to execute if the string does not contain only numbers fi>
6. Hur kontrollerar man om en fil finns i ett Bash-skript med hjälp av en if-sats?
Du kan använda ` -e`> flagga i skicket, så här:
if [ -e 'filename' ]; then # Code to execute if the file exists else # Code to execute if the file does not exist fi>
7. Vad är syntaxen för en if-else-sats i Bash-skript?
Den grundläggande syntaxen för en 'om-annat' uttalande i Bash-skript är:
if [ condition ]; then # Code to execute if condition is true else # Code to execute if condition is false fi>
8. Hur använder jag elif-satsen i ett Bash-skript?
Den ` elif`> uttalande används för att kontrollera ytterligare villkor om initialenif>tillståndet är falskt.
Här är ett exempel:
if [ condition1 ]; then # Code to execute if condition1 is true elif [ condition2 ]; then # Code to execute if condition2 is true else # Code to execute if none of the conditions are true fi>
9. Hur kan jag använda logiska operatorer (AND, OR) i Bash if-satser?
Du kan använda ` -a`> för logiska OCH och ` -o`> för logiskt ELLER.
Till exempel:
if [ condition1 -a condition2 ]; then # Code to execute if both conditions are true fi>
Slutsats
I den här artikeln diskuterade vi Bash-skript som är som ett superanvändbart verktyg för att få din dator att göra saker automatiskt. Den här artikeln lärde oss om if-satsen i Bash, som är som en beslutsfattare i manus. Vi lärde oss grunderna, såg exempel som att kontrollera om en siffra är jämn eller ta reda på om någon kan rösta och till och med utforskade finare saker som att hantera många förhållanden eller sätta if-påståenden i varandra. Artikeln gav tydliga förklaringar, exempel och besvarade vanliga frågor för att hjälpa oss att bli bättre på att använda Bash-skript. Det viktigaste är att vara försiktig med detaljer som avstånd och specialregler, så att våra skript fungerar smidigt och gör uppgifter lättare att hantera på datorn.