Вы испытываете необходимость для выхода из всех символов в OLD_RULE, который может быть интерпретирован как символы волшебства шаблона. Или проще, используйте шаблон для соответствия строке, которой Вы хотите управлять на и затем только, чтобы выполнить минимальную замену, в которой Вы на самом деле нуждаетесь.
Что-то как (непротестированный) sed -i '/, NAME="eth1"/s/eth1/eth0/' /etc/udev/rules.d/70-persistent-net.rules
возможно.
Я собираюсь предположить, что ваша цель - просто получить строку мимо разборы оболочки. Если это так, используйте Прочитайте
:
, например
$ IFS='' read -r var
, затем вручную вставьте строку.
Если это несколько строк, вы можете использовать:
$ IFS='' read -r -d '' var
и снова вставить, но на этот раз используйте Ctrl + D , чтобы завершить вход.
Или используйте HEREDOC:
$ IFS='' read -r -d '' var <<'EOF'
{ "some_string": "Hello mom it's me!" }
EOF
, какой этот метод вы используете, вы можете просто использовать переменную $ var
для доступа к нему:
$ curl -H "Content-Type: application/json" \
-d "$var" \
"http://localhost:3001/api_v2/blocks/42af6ab04d9d9635a97f8abec14ed023?api_key=fe5cf0d86af27c086ab5cd4d0eab6641"
Вам, вероятно, не понадобится 3 из этих обратных челков, если вы можете удалить оболочку из уравнение. К счастью, вы можете:
curl --config - <<\DATA
url = "http://some.url"
header = "Content-Type: application/json"
data = "{ \"some_string\": "Abe Lincoln's favorite character is the backslash \\. He said \"I love the \\ and single quotes like '.\""
#END
DATA
посмотреть Человек Curl
. Я предлагаю обратить пристальное внимание к различиям между - Data-Ascii
(который является то, что означает -D
) , - Data-Binary
, и - Data-urlencoded
.
Вы также можете сравнить различное поведение, которое вы получаете с - заголовок
, - данные
, и - форма
(которая по умолчанию , все делают пост
в несколько разных способах) , и то, что вы можете получить с - получить
, который может вместо этого кодировать данные, указанные с любым из ранее упомянутых в Запросить URL после ?
.