bash 引号内的美元符号插值

bash 引号内的美元符号插值

我正在运行我编写的这个小测试脚本:

#!/bin/bash

TESTCASE=$@
testHarness <<runTest
$TESTCASE
runTest

从命令行:

./test.sh "1092$212"

但美元符号正在被去掉。如果我逃避它,它就会起作用。但我认为双引号可以保护我不需要这样做。有人可以帮助我了解发生了什么事以及如何解决这个问题吗?

答案1

变量仍然在双引号内扩展。如果您想避免这种行为,您应该使用单引号。

相关内容