【发布时间】:2022-01-26 15:47:32
【问题描述】:
我正在尝试在 bash 中进行字符串替换,以转义版本号中的点,最终传递给 grep。当我跑步时
echo ${3.9.1//./\\.}
预期输出为3\.9\.1。我得到一个bad substitution 错误。我不明白这怎么不正确。
【问题讨论】:
-
3.9.1不是有效的参数 name。bash不允许对原始字符串进行参数扩展操作,只允许对参数扩展的结果进行操作。 (另一方面,zsh确实如此。)