${ varname :- sõna }: Kui varname eksisteerib ja ei ole null, tagastab väärtuse varname, muidu tagastab sõna. Kasutatakse vaikimisi väärtuse tagastamiseks, kui muutujat ei eksisteeri või seda pole määratletud. Kui see on ${ varname - sõna }, võib see olla null, kui varname eksisteerib, nt defineerime myparam=, tagastades varname'i väärtuse, muidu tagastades sõna. Võid ka kustutada ":", millel on sama tähendus ja mida ei korrata.
${ varname := sõna }: Kui varname eksisteerib ja ei ole null, tagastab varname väärtuse, muidu määrab sellele sõna väärtuse ja tagastab selle väärtuse. Kasutatakse vaikimisi määramiseks muutujale, mida ei eksisteeri või mis pole määratletud. Positsiooniparameetrite puhul on see ainult lugemiseks ja ei saa määrata.
${ varname :? sõnum }: Kui varname eksisteerib ja ei ole null, tagastab väärtuse varname, muidu prindib info varname:message ja katkestab skripti, siis kui sõnumit ei määrata, kasutatakse vaikimisi "parameeter null või mitte seatud". Kasutatakse vigade kontrollimiseks, kus muutujad pole määratletud.
${ varname :+ sõna }: Kui varname eksisteerib ja ei ole null, tagastab sõna väärtuse, muidu tagastab null. Kasutatakse muutujate olemasolu või puudumise tuvastamiseks.
${ varname : offset : pikkus }: Operatsioon alamstringi saamiseks. Ta tagastab pikkuse stringi varname'i nihutatud positsioonist. Esimene positsioon on 0, kui pikkust ei ole antud või see on kehtetu (väiksem kui 0), tagastatakse kõik märgid pärast nihke, ja kui see on {@:offset:length}, tagastatakse skripti parameetri kogupikkuse parameeter esimesest nihkeparameetrist.
Loo uus test.sh testskript järgmiselt:
|