Değişken BUILDNUMBER
230 değerine ayarlanır. 230_
Komut için yazdırılmayı bekliyorum , echo $BUILDNUMBER_
ancak çıktı aşağıda gösterildiği gibi boş.
# echo $BUILDNUMBER_
# echo $BUILDNUMBER
230
Değişken BUILDNUMBER
230 değerine ayarlanır. 230_
Komut için yazdırılmayı bekliyorum , echo $BUILDNUMBER_
ancak çıktı aşağıda gösterildiği gibi boş.
# echo $BUILDNUMBER_
# echo $BUILDNUMBER
230
Yanıtlar:
Komut ayarlanmamış echo $BUILDNUMBER_
değişkenin değerini yazdıracaktır $BUILDNUMBER_
(alt çizgi Jeff Schaller tarafından açıkça belirtildiği gibi bir değişken adı için geçerli bir karakterdir)
Değişken adının etrafına parantez (kıvırcık parantez) uygulamanız veya en sert printf
aracı kullanmanız yeterlidir :
echo "${BUILDNUMBER}_"
printf '%s_\n' "$BUILDNUMBER"
Not: Her zaman değişkenlerinizi belirtin.
George Vassiliou'nun daha önce açıkladığı gibi , $BUILDNUMBER_
bunun yerine değişkeni yazdırıyorsunuz $BUILDNUMBER
. İstediğinizi elde etmenin en iyi yolu ${BUILDNUMBER}_
George'un açıkladığı gibi kullanmaktır . İşte birkaç seçenek daha:
$ echo "$BUILDNUMBER"_
230_
$ echo $BUILDNUMBER"_"
230_
$ printf '%s_\n' "$BUILDNUMBER"
230_
$IFS
tuttuğunu biliyoruz, ama neyin tuttuğunu bilmiyoruz , bu yüzden echo $BUILDNUMBER"_"
hala yanlış. Üçünden, sadece printf '%s_\n' "$BUILDNUMBER"
ne olduğunu bilmediğimiz $BUILDNUMBER
veya $IFS
tuttuğumuzda doğrudur .