我有$(${StrVar})
,我StrVar
有价值$
,例如。test$9hp
。
当我执行命令时:$(${StrVar}
它在我的变量内部失败$9
并尝试扩展它。
function Deploy
{
# in this function
output=$(echo ${1})
echo "$output"
}
Deploy "test$9hp"
如何避免执行包含 的字符串值$9
?
答案1
您可以尝试Deploy "test\$9gh"
使用set -x
,您的脚本显示:
+ Deploy 'test$9hp' ++ echo 'test$9hp' + output='test$9hp' + echo 'test$9hp' test$9hp + set +x
它不会展开它。