Değişken genişletme ${parameter:-word}, $parameterayarlanmışsa ve boş değilse (boş bir dize değil) değerini kullanır, aksi takdirde dizeyi kullanır word.
:Değerin atlanması, değerin boş olup olmadığını, yalnızca ayarlanıp ayarlanmadığını test etmez.
Bu , ayarlanmışsa ${PS1-}değerine, $PS1boş veya ayarlanmamışsa boş bir dizeye genişleyeceği anlamına gelir . Bu durumda, bu tam olarak aynı şekilde ${PS1:-}dize sonra mümkün -de boş olduğunu.
@Rakesh Sharma'nın belirttiği gibi "${PS1-}"ve arasındaki fark "$PS1", her ikisi de değerine $PS1veya ayarlanmamışsa boş bir dizeye genişleyecektir . Bunun istisnası set -uetkin olduğu zamandır, bu durumda ayarlanmamış değişkenlerin genişletilmesi hataya neden olur . Ayarlanan (boş) varsayılan değer "${PS1-}"bunu atlayarak bir PS1diziyi hatasız olarak boş dizeye genişletir .
Bu standart sözdizimidir ( 70'lerin sonlarında Bourne kabuğunda ortaya çıkar ), diğer birkaç benzer genişleme gibi.