${ varname :- word }: Ha varname létezik és nem null, akkor a varname értékét adja vissza, egyébként a szó visszaadja a szót. Alapértelmezett értéket adnak vissza, ha egy változó nem létezik vagy nincs definiálva. Ha ${ varname - word }, akkor null lehet, amikor a varname létezik, például definíció myparam=, ami visszaadja a varname értékét, egyébként a szót. Törölheted a ":" betűt is, amelynek jelentése ugyanaz, és nem ismétlődik.
${ varname := szó }: Ha varname létezik és nem null, akkor a varname értékét adja vissza, különben egy szó értéket rendel hozzá, és azt az értéket adja vissza. Alapértelmezett beállításra használták egy olyan változó számára, amely nem létezik vagy nincs definiálva. Pozícióparaméterek esetén csak olvasható, és nem rendelhető hozzá.
${ varname :? üzenet }: Ha varname létezik és nem null, akkor a varname értékét adja vissza, különben kinyomtatja a varname:message információt, és megszakítja a szkriptet, ha nem állítjuk be az üzenetet, akkor az alapértelmezett "paraméter null vagy nem beállítva" lesz használatban. Olyan hibák ellenőrzésére használják, ahol a változók nincsenek definiálva.
${ varname :+ word }: Ha a varname létezik és nem null, adja vissza a szó értékét, különben nullat ad vissza. Változók jelenlétének vagy hiányának felismerésére használják.
${ varname : offset : length }: Művelet az allánc megszerzésére. A varname eloltult pozíciójából egy hosszas húrt adja vissza. Az első pozíció 0, ha a hossz nem van megadva, vagy érvénytelen (kevesebb mint 0), akkor az összes karakter az eltérés után visszatér, és ha {@:offset:length}, akkor az első eltolás paraméter szkriptparaméterének teljes hossz paramétere kerül vissza.
Készíts egy új test.sh tesztszkriptet, az alábbiak szerint:
|