${ varname :- word }: Dacă varname-ul există și nu este nul, returnează valoarea varname-ului, altfel returnează cuvântul. Folosit pentru a returna o valoare implicită atunci când o variabilă nu există sau nu este definită. Dacă este ${ varname - cuvânt }, poate fi nulă atunci când varname-ul există, de exemplu definim myparam=, returnând valoarea varname-ului, altfel returnând cuvântul. Poți șterge și ":", care are același sens și nu se repetă.
${ varname := cuvânt }: Dacă varname-ul există și nu este nul, returnează valoarea varname-ului, altfel îi atribuie o valoare de cuvânt și returnează acea valoare. Folosit pentru a seta un default pentru o variabilă care nu există sau nu este definită. Pentru parametrii de poziție, doar citire și nu pot fi atribuite.
${ varname :? mesaj }: Dacă varname-ul există și nu este nul, returnează valoarea varname-ului, altfel imprimă informația varname:message și anulează scriptul, dacă nu setăm mesajul, va fi folosit implicit "parametrul null sau not set". Folosit pentru a verifica eroarea în care variabilele nu sunt definite.
${ varname :+ cuvânt }: Dacă varname există și nu este nul, returnează valoarea cuvântului, altfel returnează valoarea cuvântului. Folosit pentru a detecta prezența sau absența variabilelor.
${ varname : offset : length }: Operație pentru a obține subfirul. El returnează o serie de lungimi din poziția de offset în varname. Prima poziție este 0, dacă lungimea nu este dată sau este invalidă (mai mică de 0), toate caracterele după offset sunt returnate, iar dacă este {@:offset:length}, parametrul total de lungime al parametrului script de la primul parametru de offset este returnat.
Creează un nou script test.sh test astfel:
|