一尘不染

bash中的字符串替换-错误的替换错误

linux

我是bash脚本的新手,但我不理解为什么它不起作用

#!/bin/bash
foo=foobarfoobar
echo ${foo//bar/baz}

第3行的替代替换错误


阅读 589

收藏
2020-06-03

共1个答案

一尘不染

该替换在Bash 4.2.8中正常工作(并且根据文档看起来还不错)。

我最好的猜测是您实际上并没有使用Bash-您如何调用脚本?如果您正在执行此操作sh script.sh,则可能会与Dash或类似的程序一起运行(Dash确实在第3行给出了替换错误)。尝试使用Bash(bash script.sh)显式运行它。

如果事实证明您实际上是在使用Dash,这里有一些有关差异以及如何重新使用Bash(如果愿意)的有用信息:https
//wiki.ubuntu.com/DashAsBinSh
2020-06-03