if [[ $a -eq $b ]]; then <nolla tai useampi käsky>; else <nolla tai useampi käsky>; fi  # elsen voi jättää pois silloin kun sitä seuraisi heti fi.

[[ -f ~/tiedostox && -f ~/taulukkox ]] && echo "kumpikin löytyy" || ( [[ -f ~/tiedostox || -f ~/taulukkox ]] && echo "ainakin toinen löytyy" || echo "kumpaakaan ei löydy" )
# OR-ehdon (||-ehdon) jälkeinen sulku laittaa senjälkeiset ehdot omaan säikeeseensä joten ehdoista ei tule sekasotkua josta ei saa selvää.

if [[ "$stringvar" == "tux" ]]; then käsky; käsky; käsky ... fi
if [[ -f regularfile ]]; then; käsky; käsky; käsky ... fi
if [[ $num -eq 3 && "$stringvar" == foo ]]; then käsky; käsky; käsky ... fi     # &&->-a ja: ||->-o
if (( $num <= 5 )); then käsky; käsky; käsky ... fi                             # && ja || tunnetaan mutta -a ja -o ei.
[[ ehto ]] && käsky && käsky  # toinen && viittaakin siihen kuinka edellinen käsky onnistui
[[ $foo = bar && $bar = foo ]]       # Also right!
variable="This is a fine mess."; [[ "$variable" =~ "T*fin*es*" ]] && echo "löytyi" # ubuntussa:... [[ $(echo "$variable" | grep "T.*fin.*es.*") > " " ]] ...
[[ $(date) =~ ^Fri\ ...\ 13 ]] && echo "It's Friday the 13th!"
if [[ "$VARIABLE" =~ ^[[:alnum:]]*$ ]]; then do something; fi;
apu=_Alku; case "$apu" in *[^A-Za-z0-9]*) echo Muuttujan nimi on kelvoton;; esac

[[ eaaabc =~ aa ]] && echo jees # onko jälkimmäinen edellisen osa. Seuraavat ehdot toimivat myös muuttujilla
[[ aaabc =~ ^aa ]] && echo jees # alkaako edellinen jälkimmäisellä
[[ bcaaa =~ aa$ ]] && echo jees # loppuuko edellinen jälkimmäisellä

[[ ! abac =~ aa ]] && echo jees  # eihän vain edellisen sisällä ole jälkimmäistä
[[ ! bcaa =~ aa$ ]] && echo jees # eihän vain edellinen lopu jälkimmäiseen
[[ ! bcaa =~ ^aa ]] && echo jees # eihän vain edellinen vain ala jälkimmäisellä

[[ -f tiedosto || -f tiedosti ]] && echo jees  # jos jompikumpi
[[ -f tiedosto && -f tiedosti ]] && echo jees  # jos molemmat
if (($# != 2 && $# != 4)); then echo jees ; fi # ehto aritmeettinen

[[ $(echo dddaaggggaasss | grep aa.*aa) ]] && echo jees # onko tekstijonossa kirjainryhmää: määrätty teksti[mitä tekstiä hyvänsä]määrätty teksti
[[ $(echo gg aasss | grep -w gg) ]] && echo jees        # onko tekstijonossa gg siten että sen vieressä ei ole aakkonumeroa (siis muita merkkejä voi olla) 


- mikäili käskyjä on vain yksi kannattaa käyttää rakennetta: [[ $a -eq $b ]] && käsky || vaihtoehtoinen käsky 
  tai mikäli käskyjä on useampia niin ne voi sitoa lohkoksi: {käskyy,käsky,käsky ...}
- jos vaihtoehtoista käskyä ei ole niin myös || voi jättää pois.
- käsky test on vanhentunut kuten myös rakenne jossa on vain yksi hakasulku.  
- teoriassa kaksois-hakasulkujen välissä matemaattisina ehtoina voi käyttää myös merkkejä =, <, > .... mutta ne eivät esim. ota merkkiä huomioon



[[ -f ~/tiedostox && -f ~/taulukkox ]] && echo "kumpikin löytyy" || ( [[ -f ~/tiedostox || -f ~/taulukkox ]] && echo "ainakin toinen löytyy" || echo "kumpaakaan ei löydy" )
# OR-ehdon (||-ehdon) jälkeinen sulku laittaa senjälkeiset ehdot omaan prosessinsa joten ehdoista ei tule sekasotkua josta konekaan ei saa selvää.
