Yazdığım bu küçük test komut dosyasını çalıştırıyorum:
#!/bin/bash
TESTCASE=$@
testHarness <<runTest
$TESTCASE
runTest
komut satırından:
./test.sh "1092$212"
ama dolar işareti çıkarılıyor. Kaçarsam çalışır. Ama çift tırnakların bunu yapmamdan koruyacağını düşündüm. Birisi neler olup bittiğini anlamama yardımcı olabilir mi?
Sorun şu ki, burada ne istediğinizi belirsiz - benim için bile - bu yüzden bilgisayarın şansı yok. Belki de bash tercüman 212 dolar kazanmaya çalışıyor. Var olmayan bir değişkeni genişletmeye çalışırsanız Bash sessizce başarısız olur, böylece $ çıkarılır. Değişkenlerinizi parantez içine almayı düşünün, örneğin "1092 $ {2} 12"
—
Brian Peterson