Как избежать строки этого сценария bash?

Это мой foo.sh :

#!/bin/bash

sed -i -- 's/<meta http-equiv="Content-Security-Policy" content="default-src * data: blob: 'unsafe-inline' 'unsafe-eval' ws: wss:;">/<meta my custom meta>/g' ../app-prod/ios/project/www/application/index.html

Я не могу понять, как избежать одинарных и двойных кавычек и символов звездочки.

0
02.12.2016, 20:54
1 ответ

Вероятно, вы хотите использовать двойные кавычки в вашем sed. Затем избегайте двойных кавычек и подстановочных знаков внутри вашего выражения. Должно быть что-то вроде этого:

sed -i "s|<meta http-equiv=\"Content-Security-Policy\" content=\"default-src \* data: blob: 'unsafe-inline' 'unsafe-eval' ws: wss:;\">|<meta my custom meta>|g" /path/to/file.html

(не уверен в использовании двойных кавычек для всего выражения. Я, кажется, помню, что экранирование одинарных кавычек в одинарных кавычках может не работать под некоторые условия, ... которые я не мог назвать).

2
28.01.2020, 02:34

Теги

Похожие вопросы