${ varname :- sana }: Jos varname on olemassa eikä ole nolla, palauttaa arvon varname, muuten sana. Käytetään palauttamaan oletusarvo, kun muuttujaa ei ole olemassa tai sitä ei ole määritelty. Jos se on ${ varname - sana }, se voi olla nolla, kun varname on olemassa, esim. määrittelemme myparam=, palauttaen varnamen arvon ja muuten sanan. Voit myös poistaa ":"-merkin, jolla on sama merkitys eikä sitä toisteta.
${ varname := sana }: Jos varname on olemassa eikä ole nolla, palauttaa varname-arvon, muuten antaa sille sanan arvon ja palauttaa kyseisen arvon. Käytetään asettamaan oletusarvo muuttujalle, jota ei ole olemassa tai jota ei ole määritelty. Sijaintiparametreille vain luku ja sitä ei voi määrittää.
${ varname :? viesti }: Jos varname on olemassa eikä ole nolla, palauttaa arvon varname, muuten tulostaa tiedon varname:message ja keskeyttää skriptin, jos emme aseta viestiä, käytetään oletusarvoa "parametri null or not set". Käytetään tarkistamaan virheitä, joissa muuttujia ei ole määritelty.
${ varname :+ sana }: Jos varname on olemassa eikä ole nolla, palauttaa sanan arvon, muuten se palauttaa nullin. Käytetään tunnistamaan muuttujien läsnäolo tai puuttuminen.
${ varname : offset : pituus }: Operaatio alijonon saamiseksi. Hän palauttaa varnamen siirtymäpaikan pituuden merkkijonon. Ensimmäinen asento on 0, jos pituutta ei ole annettu tai se on virheellinen (alle 0), kaikki merkit offsetin jälkeen palautetaan, ja jos se on {@:offset:length}, palautetaan ensimmäisen offset-parametrin skriptiparametrin kokonaispituusparametri.
Luo uusi test.sh testiskripti seuraavasti:
|