в седе появляется в неправильном месте - PullRequest
1 голос
/ 30 августа 2011

Я пытаюсь установить IP в файл с помощью sed.Я запускаю эту команду

sed -i 's:$dbserver='':$dbserver='10.0.0.2':' t.conf

, но когда я смотрю в t.conf, строка выглядит так:

$dbserver=10.0.0.2''

Кто-нибудь знает, почемув конце строки появляются две одинарные кавычки?

Я использую Debian Linux

1 Ответ

3 голосов
/ 30 августа 2011

Второй аргумент sed необходимо заключить в двойные кавычки:

sed -i "s:$dbserver='':$dbserver='10.0.0.2':" t.conf

Таким образом, $dbserver будет заменено его значением перед передачей в sed, и одиночные кавычки не нужно будет экранировать.

Если вы хотите, чтобы $dbserver буквально появлялся в файле conf, перед знаком доллара ставится обратный слеш.

...