Başlıkta sorulan genel sorunun cevabını arayan Google aracılığıyla buraya gelenler için (benim gibi) kısa bir not / özet. Aşağıdakilerden herhangi biri, tırnak içindeki kabuk değişkenlerine erişim sağlamak için çalışmalıdır:
echo "$VARIABLE"
echo "${VARIABLE}"
Tek tırnak kullanımı ana konudur. Göre Bash Reference Manual :
Karakterleri tek tırnak içine almak ( '
), tırnak içindeki her karakterin değişmez değerini korur. Ters eğik çizgiden önce gelse bile, tek tırnak işaretleri arasında tek bir alıntı oluşmayabilir. [...] çift tırnak içine yerleştirme karakterleri ( "
) hariç olmak üzere, tırnak içindeki tüm karakterlerin değişmez değerini korur $
, `
, \
, ve, geçmiş genişleme etkinken, !
. Karakterler $
ve `çift tırnak içinde özel anlamlarını korurlar (bkz. Kabuk Genişletmeleri). Aşağıdaki karakterlerden biri tarafından bitirilen ters eğik çizgi sadece özel bir anlam korur: $
, `
, "
,\
veya yeni satır. Çift tırnak içinde, bu karakterlerden birinin izlediği ters eğik çizgiler kaldırılır. Özel bir anlamı olmayan karakterlerden önceki ters eğik çizgiler değiştirilmeden bırakılır. Çift tırnak, önünde ters eğik çizgi ile çift tırnak içine alınabilir. Etkinleştirilirse, !
çift tırnak içinde bir ters eğik çizgi kullanılarak öncelenmedikçe geçmiş genişletme gerçekleştirilir . Önündeki ters eğik çizgi !
kaldırılmaz. Özel parametreler *
ve @
çift tırnak içindeyken özel anlamlara sahiptir (bkz. Kabuk Parametre Genişletme).
Soruda sorulan özel durumda, $ COLUMNS, standart olmayan özelliklere sahip özel bir değişkendir (yukarıdaki lhunath'ın cevabına bakın).