- há um
-eausente antes de s / foo / bar / (*) -
há uma confusão, você está (o script) editando
indexouwww/index.js?se
indexfor um arquivo de modelo (com API_CONTEXT_URL) a ser usado para produzirwww/index.js, sugirosed -e s,API_CONTEXT_URL,http://localhost:5557,g index > www/index.jsnote que você pode usar qualquer chat um separador entre substituto, eu uso vírgula (,) para evitar fugir muito.
Se o arquivo a ser editado for
www/index.js, usesed -i -e s,API_CONTEXT_URL,http://localhost:5557,g www/index.jsonde
-
-iflag tell sed para editar o arquivo no lugar.
-
EDITAR:
graças a User112638726 e don_crissti, o erro é bastante óbvio
sed -i index 's/API_CONTEXT_URI/http:\/\/localhost:5557/g' www/index.js
será interpretado por sed como
-
-ieditar no lugar, -
indexque éi(insira)ndex, - para os dois arquivos:
-
's/API_CONTEXT_URI/http:\/\/localhost:5557/g'ewww/index.js.
Suponho que não exista nenhum arquivo chamado s/API_CONTEXT_URI/http:\/\/localhost:5557/g , que é um arquivo g no diretório http:\/\/localhost:5557 no diretório API_CONTEXT_URI no diretório s no diretório atual.
Eu sempre uso -e command , apenas no caso de eu precisar colocar dois, descubro que o sed pode lidar com (hoje em dia) um único comando, não sei se era o caso nos velhos tempos.