Не получить замену с помощью sed с помощью команды sed -i - PullRequest
0 голосов
/ 08 октября 2018

Я пытаюсь сделать следующее, используя sed

 cp src/config/template.js src/config/index.js

export API_GATEWAY_ENDPOINT="http://localhost:9000/"

sed -i "" "s|{{API_GATEWAY_ENDPOINT}}|$API_GATEWAY_ENDPOINT|g" src/config/index.js

Но когда я запускаю этот скрипт, я получаю эту ошибку,

sed: can't read s|{{API_GATEWAY_ENDPOINT}}|http://localhost:9000/|g: No such file or directory

Я используюLinux-машина.

Может кто-нибудь сказать мне, почему это происходит?

1 Ответ

0 голосов
/ 08 октября 2018

Первым аргументом для sed должен быть скрипт.Поэтому, когда у вас есть лишние "", второй аргумент интерпретируется как имя файла.

И вам не нужно копировать файл и затем выполнять замену на месте.Вместо этого используйте оператор >, чтобы перенаправить вывод из sed в нужный файл.

>src/config/index.js <src/config/template.js sed "s|{{API_GATEWAY_ENDPOINT}}|$API_GATEWAY_ENDPOINT|g"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...