O problema é que bash
está processando sua linha de comando antes de sed
ter acesso a ela. Nesse caso, as soluções são alterar as aspas externas para aspas duplas:
sed -i "/remoteUrl/c\shahar.push(['remoteUrl','staging.zazzercode.com']);" predict.html
O problema foi que bash
realiza a remoção da cotação antes de passar o comando para sed
. Aos olhos de bash, seu comando original era uma série de strings entre aspas simples e bash
removeu todas as aspas. Na versão acima, bash
vê uma única cadeia de aspas duplas. Embora bash
remova as aspas duplas antes de passar a string para sed
, ela deixa as aspas simples internas apenas.