LINUX.ORG.RU

Редактирование системных файлов командой sed через Plink.

 , ,


0

2

Всем добрый. Есть проблема. Есть машина на Windows, подключаюсь к Linux напрямую через putty, выполняю команду, проблем никаких нет. Команда:

sed -i -e 's/"serial": .*/"serial": 1/' /opt/suv/suv.conf

Команда заменяет значение серийного номера на 1 и сохраняет в этот же файл. Все прекрасно работает. Дальше делают батник. Подключение выполняю через plink.exe. Команда выполняется без ошибок, но изменения не происходят в файле. Файл системный. Пробовал создавать файл и делать через батник, работает, а в системном не меняет. Не могу понять почему. Давал права chmod 777 файлу, тоже не сработало. Есть идеи?

Код батника:

@echo off

set /p ip1="IP:"

"plink.exe" -batch root@%ip1% -P 22 -i "C:\.ssh\id_rsa.ppk" "sed -i -e 's/"serial": .*/"serial": 1/' /opt/suv/suv.conf"

Подключение через ключ с правами root.



Последнее исправление: svg1 (всего исправлений: 2)

Не делай так. Используй ansible. Для вставки кода используй Markdown

По сабжу - скорее всего дело в кавычках

cobold ★★★★★
()
Ответ на: комментарий от cobold

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

svg1
() автор топика
Ответ на: комментарий от svg1

Давай ещё разок посмотрим на строку из твоего примера и подумаем что «увидит» linux-вый шелл после того как виндовый шелл развернет кавычки один раз

"sed -i -e 's/"serial": .*/"serial": 1/' /opt/suv/suv.conf"

cobold ★★★★★
()
Ответ на: комментарий от Kolins

Попробую обязательно, спасибо

svg1
() автор топика
Ответ на: комментарий от cobold

Я понял, спасибо за наводку. Экранировал кавычки. Все получилось. Благодарю.

"sed -i -e 's/""serial"": .*/""serial"": 1/' /opt/suv/suv.conf"
svg1
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.