Saya menjalankan skrip tes kecil ini yang saya tulis:
#!/bin/bash
TESTCASE=$@
testHarness <<runTest
$TESTCASE
runTest
dari baris perintah:
./test.sh "1092$212"
tapi tanda dolar sedang dihapus. Jika saya menghindarinya, itu berhasil. Tetapi saya pikir tanda kutip ganda akan melindungi saya dari keharusan melakukan ini. Dapatkah seseorang tolong bantu saya memahami apa yang terjadi dan bagaimana cara memperbaikinya?
Jawaban:
Variabel masih diperluas dalam tanda kutip ganda. Jika Anda ingin menghindari perilaku ini, Anda harus menggunakan tanda kutip tunggal sebagai gantinya.
sumber