Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 16.03.2017
Сообщений: 24

Ssh и sed

27.08.2019, 18:10. Показов 1005. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Имеется такой скриптик
есть файл с ip хостов ~/host
скрипт устанавливает подключение по ssh с хостом, sed'oм добавляет в конец строки текст и перезапускает сервис. Затем повторяет тоже самое со следующим хостом. Проблема в том, что скрипт завершает работу вместо продолжения, после того как выполнит последнее условие. Подскажите пожалуйста, в чем причина.
Bash
1
2
3
4
5
#!/bin/bash
while read H 
     do
  ssh user@$H "sudo -S <<< "password" sed -i '/Server=/s/$/,ip1,ip2/' /etc/dir/dir.conf && sudo -S <<< "password" sed -i '/Server2=/s/$/,ip1,ip2/' /etc/dir/dir.conf && sudo -S <<< "password" service server restart"
done <~/host 1>>"$HOME"/log
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
27.08.2019, 18:10
Ответы с готовыми решениями:

sed
Здравствуйте. Есть такая задача: есть текстовой файл, в нем нужно удалить строки: 1. что-то 2. .. 152. //сигнатура {код который...

sed
chto delaet eta komanda? sed 's|.\(P.*E.*.P.*\) no|\1 yes|' /tmp/file

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

8
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
27.08.2019, 22:02
Цитата Сообщение от WWTF Посмотреть сообщение
Проблема в том, что скрипт завершает работу вместо продолжения, после того как выполнит последнее условие.
А что надо чтоб "скрипт делал"? Что означает "продолжение"?
0
0 / 0 / 0
Регистрация: 16.03.2017
Сообщений: 24
27.08.2019, 22:40  [ТС]
Marinero,
Подключился к следующему хосту и проделал те же самые операции с ним, затем с последующим итд
0
7 / 6 / 4
Регистрация: 21.05.2017
Сообщений: 60
28.08.2019, 01:13
Цитата Сообщение от WWTF Посмотреть сообщение
Подскажите пожалуйста, в чем причина.
Ну может потому что в разных шеллах исполняется комманда? Надо как-то экспортировать exit status. Мне вот не ясно как ваш шелл поймёт выполнился ли сед в сабшелле (чужой хост). Так ведь?

Вы попробуйте упростить. Вместо этого адского седа попроще комманду дайте, грепните что-то например. Тогда будет понятнее.
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
28.08.2019, 11:37
Bash
1
2
3
4
ssh user@$H "
    sudo -S <<< "password" sed -i '/Server2\?=/s/$/,ip1,ip2/' /etc/dir/dir.conf
    sudo service server restart 
    exit "
0
0 / 0 / 0
Регистрация: 16.03.2017
Сообщений: 24
28.08.2019, 19:12  [ТС]
Marinero,
в таком варианте скрипт выполняет операции по первому хосту в списке, вываливается из ssh сессии в консоль и завершает выполнение скрипта. На следующий хост не переключается
в консоль выводит:
Bash
1
2
user@ip's password: 
[sudo] password for user: [sudo] password for user: [sudo] password for user:
Цитата Сообщение от Hermod Посмотреть сообщение
у может потому что в разных шеллах исполняется комманда?
Да проблема во видимому в этом
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
29.08.2019, 10:47
Цитата Сообщение от WWTF Посмотреть сообщение
вываливается из ssh сессии в консоль
Убираем значит exit
Цитата Сообщение от WWTF Посмотреть сообщение
user@ip's password:
Это запрос пароля на подключение по ssh. Вы его ввод где предусмотрели?
Цитата Сообщение от WWTF Посмотреть сообщение
[sudo] password for user:
Ничего не добавляли "от себя" в команду?
0
0 / 0 / 0
Регистрация: 16.03.2017
Сообщений: 24
29.08.2019, 13:59  [ТС]
Marinero,
убрал exit
теперь
Bash
1
2
user@ip's password: 
[sudo] password for user: sudo: no tty present and no askpass program specified
Цитата Сообщение от Marinero Посмотреть сообщение
Это запрос пароля на подключение по ssh. Вы его ввод где предусмотрели?
Сообщение от WWTF
пароль вводится руками, в консоль, после установки ssh соединения. Во всяком случае, я предполагал, что так это должно работать. И при обработке 1-го хоста так и происходит
Bash
1
2
3
4
RSA key fingerprint is SHA256:
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'ip' (RSA) to the list of known hosts.
user@ip's password:
Цитата Сообщение от Marinero Посмотреть сообщение
Ничего не добавляли "от себя" в команду?
От себя нет
0
Эксперт NIX
 Аватар для Marinero
2796 / 2039 / 682
Регистрация: 02.03.2015
Сообщений: 6,509
29.08.2019, 17:16
Цитата Сообщение от WWTF Посмотреть сообщение
пароль вводится руками, в консоль
Попробуйте тогда убрать и это
Цитата Сообщение от WWTF Посмотреть сообщение
-S <<< "password"
раз уж все-равно руками вводите
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
29.08.2019, 17:16
Помогаю со студенческими работами здесь

Работа с SED
Начал писать скрипты на shell. Нужна Ваша помощь, поскольку самому не удалось разобраться. Есть строка в файле. С помощью скрипта и функции...

sed or awk
есть строка вида document.write('Monitor\n'); как сделать вывод слова Monitor Спасибо.

РегВыр в SED
Строка разделена точками на слова, надо удалить слова не содержащие &quot;M&quot; PtList='.111Mo.2o.33.4M.' ; echo $PtList | sed...

Sed 's/.' не работает
есть файл , содержащий строку Jon DeLoach пытаюсь заменить Jon на Markus и вывести результат sed -n 's/Jon/Markus/g' datebook ...

SED. Странное поведение с N
Например, пишу скрипт на sed и хочу удалить знаки вопроса. Скрипт: #! /bin/sed -f /?/ d #удаление строк с вопросами 1, $...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru