Я запускаю этот маленький тестовый скрипт, который я написал:
#!/bin/bash
TESTCASE=$@
testHarness <<runTest
$TESTCASE
runTest
из командной строки:
./test.sh "1092$212"
но знак доллара снимается. Если я убегу, это сработает. Но я думал, что двойные кавычки защитят меня от необходимости делать это. Может кто-нибудь, пожалуйста, помогите мне понять, что происходит и как это исправить?
Ответы:
Переменные по-прежнему раскрываются в двойных кавычках. Если вы хотите избежать такого поведения, вы должны вместо этого использовать одинарные кавычки.
источник