Учитывая, что bash не имеет встроенной функции goto, я наткнулся на этот комментарий здесь некоторое время go.
И пока я получаю, это грязно Решение, это работало очень хорошо для моих случаев использования - до сих пор. Через несколько дней go я обнаружил, что скрипт, в котором были такие прыжковые метки, неожиданно завершает работу с ошибкой:
sed: 1: "/myjumpmark:/{:a;n;p;ba};": unexpected EOF (pending }'s)
Это странно, поскольку я не трогал сценарий в какое-то время. Вместо этого я обнаружил, что за последние дни brew (я запускаю скрипт на macOS) обновил gnu-sed
до версии 4.8. Примерно в то же время, когда начались проблемы.
Теперь мой вопрос: есть ли какие-либо существенные изменения в sed 4.8, из-за которых мой ранее работающий скрипт взломал sh? И если так, что я должен попытаться заставить это работать снова?