为什么这个 Bash 字符串替换不起作用?
Why isn't this Bash string substitution working?
我正在尝试在 bash 中进行字符串替换以转义版本号中的点,最终传递给 grep。当我运行
echo ${3.9.1//./\.}
预期输出为 3\.9\.1
。我收到 bad substitution
错误。我不明白这怎么不正确。
把你的字符串放在一个变量中然后你可以使用Parameter Expansion:
s="3.9.1"
echo "${s//./\.}"
输出:
3\.9\.1
我正在尝试在 bash 中进行字符串替换以转义版本号中的点,最终传递给 grep。当我运行
echo ${3.9.1//./\.}
预期输出为 3\.9\.1
。我收到 bad substitution
错误。我不明白这怎么不正确。
把你的字符串放在一个变量中然后你可以使用Parameter Expansion:
s="3.9.1"
echo "${s//./\.}"
输出:
3\.9\.1