${ varname :- word }: Ако varname съществува и не е null, връща стойността на varname, в противен случай връща думата. Използва се за връщане на стойност по подразбиране, когато променлива не съществува или не е дефинирана. Ако е ${ varname - word }, може да бъде null, когато varname съществува, например дефинираме myparam=, връщайки стойността на varname, а в противен случай връщаме думата. Можете също да изтриете ":", което има същото значение и не се повтаря.
${ varname := дума }: Ако varname съществува и не е null, връща стойността на varname, в противен случай му присвоява стойност на word и я връща. Използва се за задаване на стандартна променлива, която не съществува или не е дефинирана. За параметрите на позицията са само за четене и не могат да бъдат присвоени.
${ varname :? съобщение }: Ако varname съществува и не е null, връща стойността на varname, в противен случай отпечатва информацията varname:message и прекратява скрипта, ако не зададем съобщението, ще се използва стандартният "parameter null or not set". Използва се за проверка на грешки, където променливите не са дефинирани.
${ varname :+ word }: Ако varname съществува и не е null, връща стойността на думата, в противен случай връща null. Използва се за откриване на наличие или отсъствие на променливи.
${ varname : offset : length }: Операция за получаване на подструн. Той връща низ от дължина от позицията на изместване в varname. Първата позиция е 0, ако дължината не е дадена или е невалидна (по-малко от 0), всички символи след offset се връщат, а ако е {@:offset:length}, се връща параметърът на общата дължина на параметъра скрипт от първия параметър на offset.
Създайте нов test.sh тестов скрипт по следния начин:
|