MC, 2025
Ilustracja do artykułu: Kiel Uzi la Bash If-statement por Multaj Kondiĉoj?

Kiel Uzi la Bash If-statement por Multaj Kondiĉoj?

Bash estas potenca ŝelo uzata en multaj operaciumoj bazitaj sur Unix, kaj estas tre utila por aŭtomatigi taskojn per skriptoj. Unu el la plej oftaj taskoj en skriptado estas kontroli kondiĉojn. Ĉi tio povas esti farita per la 'if-statement', kiu ebligas al ni fari decidojn en niaj skriptoj. Sed kio okazas kiam ni volas kontroli multajn kondiĉojn samtempe? En ĉi tiu artikolo, ni klarigos kiel uzi la Bash if-statement kun pluraj kondiĉoj, uzante loĝikajn operatorojn, kaj ankaŭ donos kelkajn utilajn ekzemplojn por kompreni tion.

Kio estas If-Statement en Bash?

La 'if-statement' en Bash estas baza komando, kiu ebligas al vi testi ĉu certa kondiĉo estas vera aŭ falsa. Se la kondiĉo estas vera, la komandoj ene de la 'if' blokos estos plenumitaj. Ekzemple:

if [ $variable -eq 5 ]; then
  echo "La variablo estas 5"
fi

En ĉi tiu ekzemplo, la skripto kontrolas ĉu la variablo estas egala al 5, kaj se jes, ĝi eldonas mesaĝon. Sed kio okazas se vi volas testi pli ol unu kondiĉon? Ĉi tie estas kie loĝikaj operatoroj entras.

Loĝikaj Operatoroj por Multaj Kondiĉoj

Bash subtenas kelkajn loĝikajn operatorojn, kiuj ebligas al ni kombini plurajn kondiĉojn en unu if-statement. Tiuj operatoroj inkluzivas:

  • AND (&&): Testas ĉu ambaŭ kondiĉoj estas veraj.
  • OR (||): Testas ĉu unu el la kondiĉoj estas vera.
  • NOT (!): Invertas la valoron de la kondiĉo.

Ĉi tiuj operatoroj ebligas al vi konstrui pli kompleksajn kondiĉojn, kiuj estas necesaj por multaj taskoj en Bash. Ekzemple, se vi volas kontroli ĉu ambaŭ kondiĉoj estas veraj, vi povas uzi la operatoron '&&'.

Ekzemploj de If-Statement kun Multaj Kondiĉoj

1. Uzi AND (&&) por Kombini Kondiĉojn

Se vi volas testi du kondiĉojn samtempe kaj certigi ke ambaŭ estas veraj, vi povas uzi '&&' (AND) operatoron. Ĉi tiu metodo estas utilega kiam vi volas ke ĉiuj kondiĉoj estu plenigitaj antaŭ ol fari ion.

#!/bin/bash

a=10
b=20

if [ $a -eq 10 ] && [ $b -eq 20 ]; then
  echo "Ambaŭ kondiĉoj estas veraj!"
fi

En ĉi tiu ekzemplo, la skripto kontrolas ĉu la variablo 'a' estas egala al 10 kaj ĉu la variablo 'b' estas egala al 20. Se ambaŭ kondiĉoj estas veraj, la mesaĝo "Ambaŭ kondiĉoj estas veraj!" estos eldonita.

2. Uzi OR (||) por Kombini Kondiĉojn

Se vi volas ke almenaŭ unu el la kondiĉoj estu vera, vi povas uzi '||' (OR) operatoron. Ĉi tiu metodo estas utilega kiam vi volas ke eĉ unu kondiĉo estu sufiĉa por fari decidon.

#!/bin/bash

a=5
b=20

if [ $a -eq 5 ] || [ $b -eq 10 ]; then
  echo "Almenaŭ unu el la kondiĉoj estas vera!"
fi

En ĉi tiu ekzemplo, la skripto kontrolas ĉu 'a' estas egala al 5 aŭ ĉu 'b' estas egala al 10. Se unu el tiuj kondiĉoj estas vera, la skripto eldonos la mesaĝon "Almenaŭ unu el la kondiĉoj estas vera!"

3. Uzi NOT (!) por Inverti Kondiĉon

Se vi volas testi ĉu kondiĉo estas falsa, vi povas uzi la NOT operatoron '!'. Ĉi tiu operatoro inversas la rezulton de la kondiĉo.

#!/bin/bash

a=10

if ! [ $a -eq 5 ]; then
  echo "La variablo ne estas 5!"
fi

En ĉi tiu ekzemplo, la skripto kontrolas ĉu 'a' ne estas egala al 5. Se 'a' ne estas 5, la skripto eldonos la mesaĝon "La variablo ne estas 5!"

Kombini Diversajn Operatorojn

Vi ankaŭ povas kombini diversajn operatorojn por krei eĉ pli kompleksajn kondiĉojn. Ekzemple, vi povas uzi AND kaj OR operatorojn samtempe. Jen kiel fari tion:

#!/bin/bash

a=10
b=20
c=30

if [ $a -eq 10 ] && ( [ $b -eq 20 ] || [ $c -eq 25 ] ); then
  echo "La kombinitaj kondiĉoj estas veraj!"
fi

En ĉi tiu ekzemplo, la skripto kontrolas ĉu 'a' estas 10 kaj se unu el la sekvaj kondiĉoj estas vera: ĉu 'b' estas 20 aŭ ĉu 'c' estas 25. Se ambaŭ kondiĉoj estas veraj, ĝi eldonos la mesaĝon "La kombinitaj kondiĉoj estas veraj!"

Uzado de Parenthesoj por Klarigi Laŭron

Kiam vi kombinas plurajn operatorojn, gravas uzi parentesojn por klare difini la ordon de la operacioj. Sen parentesoj, la skripto eble ne funkcios kiel atendite. Tial estas rekomendinde ĉiam uzi ilin por eviti miskomprenojn en via kodo.

Aliaj Kompleksecoj en Bash If-Statement

Krom uzado de AND, OR, kaj NOT operatoroj, Bash havas ankaŭ kelkajn aldonajn karakterizaĵojn kiuj helpas vin konstrui pli kompleksajn if-statement. Ekzemple, vi povas uzi 'elif' por kontroli pliajn kondiĉojn, aŭ 'else' por difini okazon kiam la kondiĉo estas falsa. Jen kiel tio aspektas:

#!/bin/bash

a=15

if [ $a -lt 10 ]; then
  echo "La variablo estas malpli ol 10."
elif [ $a -lt 20 ]; then
  echo "La variablo estas malpli ol 20 sed pli granda ol 10."
else
  echo "La variablo estas 20 aŭ pli granda."
fi

En ĉi tiu ekzemplo, la skripto uzas 'elif' por aldoni plian kondiĉon kaj 'else' por la kazo kiam neniu el la antaŭaj kondiĉoj estas veraj. Se 'a' estas malpli ol 10, ĝi eldonos "La variablo estas malpli ol 10", se ĝi estas malpli ol 20 sed ne malpli ol 10, ĝi eldonos "La variablo estas malpli ol 20 sed pli granda ol 10", kaj se ĝi estas 20 aŭ pli granda, ĝi eldonos "La variablo estas 20 aŭ pli granda."

Konkludo

Uzante Bash if-statements kun multoblaj kondiĉoj, vi povas krei tre kompleksajn kaj potencajn skriptojn kiuj respondecas pri multe pli granda gamo de taskoj. Ĉu vi uzas AND, OR, aŭ NOT operatorojn, kompreni kiel kombini diversajn kondiĉojn estas esenca por efike administri viajn skriptojn. Ne forgesu praktiki kaj eksperimentu kun diversaj kombinoj por fari viajn skriptojn eĉ pli potenca! Ĉu vi estas nova en Bash aŭ spertulo, tiujn teknikojn vi povas apliki en via ĉiutaga laboro. Bonŝancon kun via Bash programado!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: