我是 bash 脚本的新手,但我不明白为什么它不起作用
#!/bin/bash
foo=foobarfoobar
echo ${foo//bar/baz}
第 3 行错误替换
最佳答案
该替换在 Bash 4.2.8 中工作正常(根据文档看起来很好)。
我最好的猜测是您实际上并没有使用 Bash - 您是如何调用脚本的?如果您正在执行 sh script.sh
,您很可能正在使用 Dash 或类似的东西运行它(并且 Dash 确实在第 3 行给出了替换错误)。尝试使用 Bash 显式运行它 (bash script.sh
)。
如果事实证明您实际上在使用 Dash,这里有一些关于差异以及如何返回使用 Bash(如果您愿意)的有用信息:https://wiki.ubuntu.com/DashAsBinSh
关于linux - bash 中的字符串替换 - 错误替换错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8960677/