pt está produzindo o arquivo correto no terminal, mas nenhuma substituição ocorreu no novo arquivo

0

Quando executo meu shell script abaixo da linha de comando, ele exibe o arquivo copiado na tela e vejo que as substituições ocorreram corretamente, no entanto, dentro do novo arquivo que ele criou, ele ainda mostra o conteúdo original do arquivo. o original.html - o que estou fazendo de errado com o aspecto de salvamento em um novo arquivo?

# other relevant vars above #
cp original.html MobileApp/www/index.html

sed  -E'' "s#MOBILE_APP_API_URL#\"$mobile_app_api_url\"#g;
    s#MOBILE_APP_MEDIA_URL#\"$mobile_app_media_url\"#g;
    s#MOBILE_APP_ENVIRONMENT#\"$environment\"#g" MobileApp/www/index.html

// note se eu usar sed -i no início da linha, isso funciona como esperado, mas por razões de portabilidade eu não quero usar o argumento -i.

    
por Zabs 03.03.2017 / 16:41

1 resposta

1

Neste caso, eu iria com

sed -E -e "s#MOBILE_APP_API_URL#\"$mobile_app_api_url\"#g" \
       -e "s#MOBILE_APP_MEDIA_URL#\"$mobile_app_media_url\"#g" \
       -e "s#MOBILE_APP_ENVIRONMENT#\"$environment\"#g" \
       original.html >MobileApp/www/index.html

O sinalizador -E não aceita argumentos e, com várias seções -e , podemos dividir a linha de comando em partes legíveis.

Podemos pular o cp completamente, já que processamos o arquivo de origem e gravamos diretamente no arquivo de destino usando um redirecionamento.

    
por 03.03.2017 / 17:38