abc=okdeğişkene bir değer atar abc. declare abcdenilen bir değişkeni bildirir abc. İki olarak birleştirilebilir declare abc=ok.
Bash'da, diğer mermilerde olduğu gibi, dize ve dizi değişkenlerinin bildirilmesi gerekmez; bu nedenle declare, örneğin bir ilişkisel dizi yapmak veya salt okunur bir değişken declare -A abcyapmak abciçin seçenekleri geçmek istemediğiniz sürece gerekli değildir declare -r. Bununla birlikte, bir fonksiyonun içinde declarefark yaratır: değişkenin fonksiyonda lokal olmasına neden olur, yani fonksiyonun dışındaki değişkenin değeri (varsa) korunur. (Siz declare -gdeğişkeni yerel olmayan kılan kullanmıyorsanız ; örneğin declare -gA, bir işlevde genel bir ilişkisel dizi oluşturmak için diğer seçeneklerle birleştirildiğinde kullanışlıdır .) Örnek:
f () {
declare a
a='a in f'
b='b in f'
echo "From f: a is $a"
echo "From f: b is $b"
}
a='Initial a'
b='Initial b'
f
echo "After f: a is $a"
echo "After f: b is $b"
Çıktı:
From f: a is a in f
From f: b is b in f
After f: a is Initial a
After f: b is b in f
declareYerleşik ile yapabileceğiniz başka bir şey
declareBuiltin Bash özgüdür. Güçlü bir şekilde ilham almış ve ksh'ın typesetyerleşik yapısına çok yakın ve bash uyumluluğun typeseteş anlamlısını declaresağlıyor. (Bash'in neden sadece aramadığını bilmiyorum typeset). Üçüncü bir eş anlamlı var local. Ayrıca export, declare -xuyumluluk için tekrar aynıdır (her Bourne tarzı kabuklu).
declare, NAME'lerilocalkomutta olduğu gibi yerel yapar .-gSeçeneği bu davranışı bastırır. Bakınhelp declare.