Bir
parametre değerlerin saklandığı bir öğedir.
Bir
isim, bir sayı ya da aşağıda listelenmiş özel
karakterlerden biri olabilir. Bir
değişken bir
isim ile
donatılmış bir parametredir. Bir değişkenin bir
değeri
vardır, isteğe bağlı olarak öznitelikleri de olabilir. Öznitelikler,
declare
yerleşik komutu kullanılarak atanabilir.
Bir parametre bir değer atanarak belirtilir. Boş dizge geçerli bir değerdir.
Bir değişken belirtildikten sonra sadece
unset
yerleşik komutu ile kaldırılabilir.
Bir değişkenin belirtilmesi aşağıdaki sözdizimi ile yapılabilir:
Eğer
değer verilmezse, değişkene değer olarak
boş dizge verilmiş kabul edilir. Tüm
değerlere
yaklaşık (~), parametre ve değişken yorumlamaları ile komut,
aritmetik yorumlamaları ve ayrımlama (ayrıntılar aşağıda) uygulanır.
Bir değişken tamsayılardan oluşmuş özelliklere sahipse,
$((...)) yorumlaması kullanılmamış bile olsa
değer bir aritmetik ifade olarak değerlendirilir (bkz,
Aritmetik Yorumlama).
"$@" kullanımı dışında (aşağıda açıklanmıştır),
sözcük çözümlemesi uygulanmaz. Dosya ismi çözümlemesi uygulanmaz.
Atama deyimleri
alias,
declare,
typeset,
export,
readonly ve
local yerleşik
komutlarının argümanları olarak verilebilir.
Atama deyiminin bir kabuk değişkenine veya
dizi indisine bir değer atadığı bağlamda
+= işleci sona ya da değişkenin önceki değerine ekleme yapmakta kullanılabilir.
+= işlecinin bir değişkene uygulandığı durumda değişkenin tamsayı özniteliği etkinse
değer bir aritmetik ifade olarak değerlendirilir ve değişkenin o anki değerine eklenir.
+= işlecinin bir
dizi değişkenine birleşik atama kullanılarak uygulandığı durumda ise değişkenin değeri değiştirilmez (
= kullanılmış gibi) ve yeni değer dizinin en büyük indisinden bir büyük indiste başlayan diziye eklenir. Dizge değerli bir değişkene uygulandığında,
değer yorumlandıktan sonra değişkenin değerinin ardına eklenir.