${ varname :- word }: Ak varname existuje a nie je null, vráti hodnotu varname, inak vráti slovo. Používa sa na vrátenie predvolenej hodnoty, keď premenná neexistuje alebo nie je definovaná. Ak je to ${ varname - word }, môže byť null, keď varname existuje, napríklad definujeme myparam=, vrátime hodnotu varname, inak vrátime slovo. Môžete tiež vymazať ":", ktoré má rovnaký význam a neopakuje sa.
${ varname := word }: Ak varname existuje a nie je null, vráti hodnotu varname, inak mu priradí hodnotu slova a vráti túto hodnotu. Používa sa na nastavenie predvolenej hodnoty pre premennú, ktorá neexistuje alebo nie je definovaná. Pre parametre polohy nie je možné priradiť iba na čítanie a
${ varname :? správa }: Ak varname existuje a nie je null, vráti hodnotu varname, inak sa vypíše informácia varname:message a skript prerušiť, ak správu nenastavíme, použije sa predvolený parameter "parameter null or not set". Používa sa na kontrolu chýb tam, kde premenné nie sú definované.
${ varname :+ word }: Ak varname existuje a nie je null, vráti hodnotu slova, inak vráti null. Používa sa na detekciu prítomnosti alebo neprítomnosti premenných.
${ varname : offset : length }: Operácia na získanie podreťazca. Vracia reťazec dĺžky z posunutej pozície vo varname. Prvá pozícia je 0, ak dĺžka nie je daná alebo je neplatná (menej ako 0), všetky znaky po offsete sa vrátia, a ak je {@:offset:length}, vráti sa parameter celkovej dĺžky parametra skriptu z prvého offsetu.
Vytvorte nový test.sh testovací skript nasledovne:
|