${ varname :- vārds }: ja varname pastāv un nav nulle, atgriež varname vērtību, pretējā gadījumā atgriež vārdu. Izmanto, lai atgrieztu noklusējuma vērtību, ja mainīgais nepastāv vai nav definēts. Ja tas ir ${ varname - vārds }, tas var būt nulle, ja varname pastāv, piemēram, mēs definējam myparam=, atgriežot varname vērtību, pretējā gadījumā atgriežot vārdu. Varat arī izdzēst ":", kam ir tāda pati nozīme un kas netiek atkārtots.
${ varname := vārds }: Ja varname pastāv un nav nulle, atgriež varname vērtību, pretējā gadījumā piešķir tai vārda vērtību un atgriež šo vērtību. Izmanto, lai iestatītu noklusējumu mainīgajam, kas nepastāv vai nav definēts. Pozīcijas parametriem tikai lasāms, un to nevar piešķirt.
${ varname :? ziņojums }: Ja varname pastāv un nav nulle, atgriež varname vērtību, pretējā gadījumā izdrukā informāciju varname:message un pārtrauc skriptu, ja mēs neiestatām ziņojumu, tiks izmantots noklusējuma "parametrs null or not set". Izmanto, lai pārbaudītu, vai nav kļūdu, ja mainīgie nav definēti.
${ varname :+ vārds }: Ja varname pastāv un nav nulle, atgriež vārda vērtību, pretējā gadījumā tas atgriež nulli. Izmanto, lai noteiktu mainīgo lielumu klātbūtni vai neesamību.
${ varname : nobīde : garums }: Darbība, lai iegūtu apakšvirkni. Viņš atgriež garuma virkni no nobīdes pozīcijas varname. Pirmā pozīcija ir 0, ja garums nav norādīts vai ir nederīgs (mazāks par 0), tiek atgrieztas visas rakstzīmes pēc nobīdes, un, ja tas ir {@:offset:length}, tiek atgriezts skripta parametra kopējais garums no pirmā nobīdes parametra.
Izveidojiet jaunu test.sh testa skriptu šādi:
|