${ varname :- word }: Pokud varname existuje a není null, vrací hodnotu varname, jinak vrací slovo. Používá se k vrácení výchozí hodnoty, když proměnná neexistuje nebo není definována. Pokud je to ${ varname - word }, může být null, když varname existuje, např. definujeme myparam=, vracíme hodnotu varname, jinak vracíme slovo. Můžete také smazat ":", která má stejný význam a neopakuje se.
${ varname := word }: Pokud varname existuje a není null, vrací hodnotu varname, jinak mu přiřadí hodnotu slova a vrátí tuto hodnotu. Používá se k nastavení výchozí hodnoty pro proměnnou, která neexistuje nebo není definována. Pro parametry polohy nelze přiřadit pouze pro čtení a pouze pro čtení.
${ varname :? zpráva }: Pokud varname existuje a není null, vrátí hodnotu varname, jinak vypíše informace varname:message a skript přerušení, pokud nenastavíme zprávu, použije se výchozí "parameter null or not set". Používá se ke kontrole chyb tam, kde nejsou definovány proměnné.
${ varname :+ word }: Pokud varname existuje a není null, vrací hodnotu slova, jinak vrací null. Používá se k detekci přítomnosti nebo absence proměnných.
${ varname : offset : length }: Operace pro získání podřetězce. Vrací řetězec délky z posunuté pozice ve varnámu. První pozice je 0, pokud délka není zadána nebo je neplatná (menší než 0), všechny znaky po offsetu se vrátí, a pokud je {@:offset:length}, vrátí se parametr celkové délky parametru scriptu z prvního offsetu.
Vytvořte nový test.sh testovací skript následovně:
|