Is Papa John's Extra Cheesy Alfredo Pizza TOO Cheesy?
Tartalomjegyzék:
if
nyilatkozatif..else
nyilatkozatif..elif..else
kijelentés- Beágyazott,
if
nyilatkozatok - Több feltétel
- Tesztelő operátorok
- Következtetés
A döntéshozatal a számítógépes programozás egyik legalapvetőbb fogalma. Csakúgy, mint bármely más programozási nyelvben,
if
,
if
,
if
,
if
,
if
,
if
,
if
,
if
if..else
,
if
,
if
, akkor
if..else
,
if
a Bash utasításai felhasználhatók a kód végrehajtására egy adott feltétel alapján.
Ebben az oktatóanyagban bemutatjuk a Bash
if
utasítások alapjait, és megmutatjuk, hogyan kell használni őket a shell parancsfájlokban.
if
nyilatkozat
Bash,
if
feltételes formák különbözőek lehetnek. A legalapvetőbb,
if
állítás a következő formában jelenik meg:
if TEST-COMMAND then STATEMENTS fi
Az
if
utasítás az
if
kulcsszóval kezdődik, amelyet a feltételes kifejezés és az
then
kulcsszó követ. Az állítás az
fi
kulcsszóval ér véget.
Ha a
TEST-COMMAND
igaznak bizonyul, akkor az
STATEMENTS
végrehajtásra kerül. Ha a
TEST-COMMAND
ad vissza, akkor semmi sem történik, az
STATEMENTS
figyelmen kívül hagyásra kerülnek.
Általában jó gyakorlat, ha mindig behúzzuk a kódot, és külön sorokat különítsünk el. A legtöbb ember úgy dönt, hogy akár négy-, akár két-helyes behúzást alkalmaz. A behúzások és az üres sorok a kódot jobban olvashatóvá és szervezetté teszik.
Nézzük meg a következő példakriptet, amely ellenőrzi, hogy egy adott szám nagyobb-e 10-nél.
#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." fi
Mentse el a kódot egy fájlba, és futtassa a parancssorból:
bash test.sh
A szkript felszólítja a szám megadására. Például ha beírja a 15-et, akkor a
test
true
értékeli azért, mert a 15 nagyobb, mint 10, és az
echo
parancs végrehajtódik az
then
záradékban.
The variable is greater than 10.
if..else
nyilatkozat
A Bash
if..else
nyilatkozat formája a következő:
if TEST-COMMAND then STATEMENTS1 else STATEMENTS2 fi
Ha a
TEST-COMMAND
igaznak bizonyul, akkor az
STATEMENTS1
kerül végrehajtásra. Ellenkező esetben, ha a
TEST-COMMAND
ad vissza, akkor a
STATEMENTS2
kerül végrehajtásra. Csak egy
else
kikötés lehet a nyilatkozatban.
Adjunk hozzá egy
else
záradékot az előző példafájlhoz:
#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." else echo "The variable is equal or less than 10." fi
if..elif..else
kijelentés
A Bash
if..elif..else
utasítás a következő formában jelenik meg:
if TEST-COMMAND1 then STATEMENTS1 elif TEST-COMMAND2 then STATEMENTS2 else STATEMENTS3 fi
Ha a
TEST-COMMAND1
True
, akkor az
STATEMENTS1
végrehajtásra kerül. Ha a
TEST-COMMAND2
True
, akkor a
STATEMENTS2
végrehajtásra kerül. Ha egyik tesztparancs sem
True
, akkor a
STATEMENTS2
végrehajtásra kerül.
A nyilatkozatban lehet egy vagy több
elif
záradék. A
else
záradék választható.
A körülményeket egymás után értékelik. Ha egy feltétel visszatér
True
a fennmaradó feltételek nem kerülnek végrehajtásra, és a programvezérlés az
if
utasítások végére kerül.
Adjunk hozzá egy
elif
záradékot az előző szkripthez:
#!/bin/bash echo -n "Enter a number: " read VAR if] then echo "The variable is greater than 10." elif] then echo "The variable is equal to 10." else echo "The variable is less than 10." fi
Beágyazott,
if
nyilatkozatok
A Bash lehetővé teszi, hogy az utasításokat egymásba ágyazza,
if
utasításokat tartalmazzák. A többszörös nyilatkozatot egy másik nyilatkozatba helyezheti.
A következő szkript három szám megadását kéri, és kinyomtatja a három szám közül a legnagyobb számot.
#!/bin/bash echo -n "Enter the first number: " read VAR1 echo -n "Enter the second number: " read VAR2 echo -n "Enter the third number: " read VAR3 if] then if] then echo "$VAR1 is the largest number." else echo "$VAR3 is the largest number." fi else if] then echo "$VAR2 is the largest number." else echo "$VAR3 is the largest number." fi fi
Így néz ki a kimenet:
Enter the first number: 4 Enter the second number: 7 Enter the third number: 2 7 is the largest number.
A beágyazott
if
utasítások használata helyett általában hatékonyabb az eset utasítás használata.
Több feltétel
A logikai
OR
és
AND
operátorok lehetővé teszik több feltétel használatát az
if
utasításokban.
Itt van a szkript egy másik verziója, amely a három szám közül a legnagyobb számot nyomtatja ki. Ebben a verzióban a beágyazott
if
utasítások helyett a logikai
AND
(
&&
) operátort fogjuk használni.
#!/bin/bash echo -n "Enter the first number: " read VAR1 echo -n "Enter the second number: " read VAR2 echo -n "Enter the third number: " read VAR3 if] &&] then echo "$VAR1 is the largest number." elif] &&] then echo "$VAR2 is the largest number." else echo "$VAR3 is the largest number." fi
Tesztelő operátorok
Bash-ban a
test
a következő szintaxisformák egyikét veszi igénybe:
test EXPRESSION]
A teszt kifejezés tagadására használja a logikai
NOT
(
!
) Operátort. A vonóságok összehasonlításakor mindig használjon egyszeri vagy dupla idézőjeleket, hogy elkerüljék a szavak felosztását vagy összekeveredését.
Az alábbiakban bemutatjuk a leggyakrabban használt operátorokat:
-
-n
VAR
- Igaz, ha a VAR hossza nagyobb, mint nulla.-z
VAR
- igaz, ha a VAR üres.STRING1 = STRING2
- Igaz [STRING1 és STRING2 azonosak.STRING1 != STRING2
- Az igaz STRING1 és STRING2 nem azonos.INTEGER1 -eq INTEGER2
- A valódi INTEGER1 és INTEGER2 azonosak.INTEGER1 -gt INTEGER2
- A valódi INTEGER1 nagyobb, mint az INTEGER2.INTEGER1 -lt INTEGER2
- A valódi INTEGER1 kevesebb, mint az INTEGER2.INTEGER1 -ge INTEGER2
- A valódi INTEGER1 egyenlő vagy nagyobb, mint az INTEGER2.INTEGER1 -le INTEGER2
- A valódi INTEGER1 egyenlő vagy kisebb, mint az INTEGER2.-h
FILE
- igaz, ha a FÁJL létezik és szimbolikus link.-r
FILE
- Igaz, ha a FÁJL létezik és olvasható.-w
FILE
- igaz, ha a FÁJL létezik és írható.-x
FILE
- igaz, ha a FÁJL létezik és futtatható.-d
FILE
- igaz, ha a FÁJL létezik és egy könyvtár.-e
FILE
- igaz, ha a FÁJL létezik és egy fájl, típusától (csomópont, könyvtár, aljzat stb.) függetlenül.-f
FILE
- igaz, ha a FÁJL létezik és egy normál fájl (nem könyvtár vagy eszköz).
Következtetés
Az
if
,
if..else
és
if..elif..else
utasítások lehetővé teszik a Bash parancsfájl végrehajtásának folyamatának ellenőrzését az adott feltételek értékelésével.
Utasítás
A
Hogyan futtassuk a Bash-et az Ubuntu-n a Windows 10-en?
A Windows alrendszernek engedélyezése a Linux számára lehetővé teszi, hogy futtasson Ubuntu bájtot a Windows 10, , Linux parancssori eszközök, Linux-első eszközök
Bash tömbök
A tömbök a leggyakrabban használt és alapvető adatszerkezetek. Ebben a cikkben a Bash tömböket fedjük le, és elmagyarázzuk, hogyan kell ezeket használni a Bash szkriptekben.