У меня есть скрипт bash, replace.sh со следующим содержимым:
ack-grep -a -l -i --print0 --text "$1" | xargs -0 -n 1 sed -i -e 's/$1/$2/g'
Когда я пытаюсь запустить его как, например:
replace.sh что-то новое
Приглашение возвращается без ошибок, но в файлы не было внесено никаких изменений.
Если я вручную наберу:
ack-grep -a -l -i --print0 --text "something" | xargs -0 -n 1 sed -i -e 's/something/somethingelse/g'
Файлы меняются, как и ожидалось.
Синтаксис $ 1, похоже, работает для других написанных мной скриптов. Я предполагаю, что мне не хватает чего-то связанного с побегом из арг или что-то в этом роде?
Спасибо!
Людо.