översikt
i den här handledningen lär du dig hur du använder Bash IF Else-satser i dina skalkommandon.
IF logical operator används ofta i programmeringsspråk för att styra flödet. Du använder den för att kontrollera tillståndet för ett värde, oavsett om det är lika med en annan eller inte; eller om det är inställt eller inte, till exempel.
vi tittar först på den grundläggandeif
– satsen är Bash och går sedan vidare tillif..else
ochif..elif..else
.,
om Bash-uttalande
den grundläggande syntaxen för ett IF-uttalande i bash ser ut som följande. Om du har programmeringserfarenhet märker du att det är ganska annorlunda än vad du är van vid.
if TEST-COMMANDthen STATEMENTSfi
TEST-COMMAND
är där du skriver ditt testfall för att kontrollera om något är sant eller inte.
- Om ditt testresultat är sant kommer ett uttalande eller antal uttalanden
- Om ditt testresultat är falskt kommer inget uttalande som definieras i ditt IF-uttalande att utföras.
OM..,Else Bash Statement
När du skriver en IF-sats exekvera uttalanden om testet resulterar sant eller falskt, du använder else
operatör.
if TEST-COMMANDthen STATEMENTSelse STATEMENTSfi
genom att användaelse
– operatören kommer dinif
– sats att utföra en annan uppsättning uttalanden beroende på ditt testfall.
- om ett test resulterar i Sant, utför uttalanden efter
then
- om ett test resulterar i falskt, utför uttalanden efter
else
logisk operatör.,
om ELIF Bash uttalande
flera om tester kan användas inom en enda IF statement block. För att göra detta med BASH eller Shell Script används elif
– operatören.
if TEST-COMMANDthen STATEMENTSelif TEST-COMMAND STATEMENTSelse STATEMENTSfi
i exemplet ovan har vi kombinerat en if
– sats med en elif
och en else
.
- om det första testet är sant, utför uttalanden omedelbart efter.,
- om det första testet är falskt och det andra testfallet är sant, kör uttalanden omedelbart efter
elif
logisk. - om de två första testfallen returnerar falska exekveringar omedelbart efter
else
logiska.
logiska operatorer
När du utför jämförelsetester använder du en operatör. Operatörerna tillhandahålls för heltal jämförelser, sträng jämförelser och fil jämförelser.,
logiska operatorer för heltal jämförelse
Bash heltal jämförelser
om större än eller annat
för att kontrollera om ett värde eller variabel är större än ett värde som du använder flaggan-gt
I ditt test.
]
används i ett exempel, följande om logisk kontrollerar om variabeln $foo
är större än 10
.,
if ]then echo $foo is greater than 10else echo $foo is not greater then 10fi
om mindre än eller annat
if ]then echo $foo is greater than 10else echo $foo is not greater then 10fi
om lika med eller annat
if ]then echo $foo is greater than 10else echo $foo is not greater then 10fi
Bash String Comparisons
om variabeln är Null
för att kontrollera om en variabel är null (inte inställd) använd-z
strängjämförelseoperatörer. I följande exempel kontrollerar vi att variabeln$foo
är inställd.
if ]then echo "$foo is not set"fi
om variabeln inte är Null
för att kontrollera om en variabel inte är null, använd -n
string comparison operator., Till exempel, för att kontrollera om variabeln $bar
inte är null, skulle du skriva din if
uttalande enligt följande.
if ]then echo "$foo is not set"fi
om variabeln är lika med strängen
för att kontrollera om två strängar är lika eller matchar varandra använder du ==
strängjämförelseoperatören.
till exempel, för att kontrollera om$var1
är lika med"cats"
du skulle skriva följandeif
uttalande.
if ]then echo "$var1 equals 'cats'"fi