Я новичок в bash скриптах, но я не понимаю, почему он не работает.
#!/bin/bash
foo=foobarfoobar
echo ${foo//bar/baz}
ошибка плохой замены в строке 3
Ответ 1
Эта подстановка отлично работает в Bash 4.2.8 (и выглядит хорошо в соответствии с документацией).
Мое лучшее предположение, что вы на самом деле не используете Bash - как вы вызываете script? Если вы выполняете sh script.sh, вы можете запустить его с помощью Dash или чего-то подобного (и Dash действительно дает ошибку замены в строке 3). Попробуйте явно запустить его с помощью Bash (bash script.sh).
Если окажется, что вы на самом деле используете Dash, есть полезная информация о различиях и о том, как вернуться к использованию Bash (если вы хотите) здесь: https://wiki.ubuntu.com/DashAsBinSh