내가 쓴이 작은 테스트 스크립트를 실행 중입니다.
#!/bin/bash
TESTCASE=$@
testHarness <<runTest
$TESTCASE
runTest
명령 행에서 :
./test.sh "1092$212"
그러나 달러 기호가 제거되고 있습니다. 내가 탈출하면 효과가 있습니다. 그러나 큰 따옴표는이 작업을 수행하지 않아도된다고 생각했습니다. 누군가 무슨 일이 일어나고 있으며 어떻게 고칠 수 있는지 이해하도록 도와 줄 수 있습니까?
문제는 그것이 심지어 인간으로서도 모호하기 때문에 여기에서 원하는 것이므로 컴퓨터는 기회가 없다는 것입니다. 아마도 bash 인터프리터는 $ 212를 얻으려고합니다. 존재하지 않는 변수를 확장하려고하면 Bash가 자동으로 실패하므로 $가 제거됩니다. 예를 들어, 대괄호 안에 당신의 변수를 포장 "1,092 $ {2} 12"고려
—
브라이언 피터슨