Форум русскоязычного сообщества Ubuntu


Следите за новостями русскоязычного сообщества Ubuntu в Twitter-ленте @ubuntu_ru_loco

Автор Тема: [HOWTO] Пишем bash скрипты  (Прочитано 245649 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #135 : 02 Марта 2011, 13:32:01 »
Какая неожиданность, кто бы мог подумать. ;D

Оффлайн choose

  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #136 : 23 Марта 2011, 21:46:11 »
Здравствуйте. Подскажите, как лучше сделать:
В gdm есть сессия, которая запускает vmware. При выходе из гостевой системы сессия закрывается, и вновь открывается gdm. Как сделать так, чтобы при закрытии сессии хост тоже выключался?
В частности, чтобы скрипт следил за наличием процесса vmware, а при его закрытии отправлял halt? Или есть более правильные способы? Заранее спасибо.

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: [HOWTO] Пишем bash скрипты
« Ответ #137 : 23 Марта 2011, 21:51:41 »
Цитировать
В частности, чтобы скрипт следил за наличием процесса vmware, а при его закрытии отправлял halt?
if [ `pgrep vmware` -z ] ; then (тут "отправляем halt") ; fi
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн bo2va

  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #138 : 25 Марта 2011, 14:44:52 »
...
В сочетании с этим: https://forum.ubuntu.ru/index.php?topic=24150.0 позволяет научить компьютер приносить тапочки и варить кофе.
...
Ссылка на несуществующую тему. Исправьте.

http://gazette.linux.ru.net/rus/articles/abs-guide/index.html
У меня эта ссылка не открывается тоже.
« Последнее редактирование: 25 Марта 2011, 14:47:37 от bo2va »

Оффлайн boulerman

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #139 : 30 Марта 2011, 02:09:50 »
Добрый день!
Пишу скрипт для реконнекта "особым" способом. Все работает конечно. Но я, внезапно, не могу отследить вывод команды wvdial !
Кто может сказать, почему происходит это:
roma@roma-desktop:~$ wvdial|grep WvDial
--> WvDial: Internet dialer version 1.60
--> Cannot open /dev/ttyUSB0: Device or resource busy
--> Cannot open /dev/ttyUSB0: Device or resource busy
--> Cannot open /dev/ttyUSB0: Device or resource busy
roma@roma-desktop:~$
 
Q: Почему не фильтруется вывод программы wvdial и не отсеиваются строки?  А так же некоторых других, например cheese, хотя у них есть свой вывод, который в принцыпе наверное можно прочитать при помощи скрипта, но вот как... Что я делаю не так?

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: [HOWTO] Пишем bash скрипты
« Ответ #140 : 30 Марта 2011, 02:19:59 »
boulerman, посыл в нужном направлении:
http://www.google.com/search?q=bash+файловые+дескрипторы

Оффлайн boulerman

  • Новичок
  • *
  • Сообщений: 16
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #141 : 30 Марта 2011, 17:46:54 »
arcfi,
спасибо за посыл (:

./program_with_error 2> error_file   -  перенаправляет вывод всех ошибок в файл.

Пользователь решил продолжить мысль 31 Марта 2011, 03:30:45:
Друзья! :)

Я тут наваял монстрообразный скрипт для переподключения AnyDATA ev-do 300A.
Подскажите как его можно упростить, или это поделие упрощению не поддается?
Ногами не пинайте ;D

http://paste.ubuntu.com/587604/
« Последнее редактирование: 31 Марта 2011, 03:32:47 от boulerman »

Оффлайн IP-2011

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #142 : 02 Апреля 2011, 06:10:59 »
Привет, всем!
Ребята подскажите пожалуйсто.
Пишу скрипт автоустановки и застрял на некоторых моментах...
1. Нужно заполнить и создать таблицы в mysql и застрял на месте ввода команд в оболочку mysql подскажите можно ли это организовать и если да то как?
Вот такой пример..
1 некоторый код
2 mysql -u root -p
3 спрашивают пароль, вводим ручками.
4 use mail;
5 остальные команды
6 quit;
Вот собствено примерно так выглядит...
2. Если я к примеру пишу скрипт и в нём запускаются ещё скрипты,
подскажите как оно будет работать?
К примеру есть такой код
1 некоторый код
2 запускаем ещё один скрипт
3 некоторый код, который должен выполниться только после выполнения скрипта в строке 2
Несображу просто как bash видёт себя в таких случиях,
он запустит скрипт в строке 2 и продолжит выполнять первоначальный скрипт?
Или он выполнит скрипт из строки 2 и затем уже продолжит выполнять основной скрипт?
3. И ещё один вопросик...
Возможно ли в bash реализовать открытие документа поиск строки и замены её на ту что нам надо?
Я конечно понимаю может глупый вопрос и bash не с , и не с++ ну всётаки может можно такое сделать...
P.S. Не пинайте сильно я с bashe всего неделю знаком. :)

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: [HOWTO] Пишем bash скрипты
« Ответ #143 : 02 Апреля 2011, 06:43:43 »
2. Если я к примеру пишу скрипт и в нём запускаются ещё скрипты,
подскажите как оно будет работать?
Цитировать
выполнит скрипт из строки 2 и затем уже продолжит выполнять основной скрипт.


Возможно ли в bash реализовать открытие документа поиск строки и замены её на ту что нам надо?
sed 's/before/after/g' myfile.txt
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн IP-2011

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #144 : 02 Апреля 2011, 10:25:38 »
RazrFalcon
Спасибо, Огромное!!! :)
Вот бы ещё на первый вопрос кто-нибудь ответил...

Пользователь решил продолжить мысль 02 Апреля 2011, 16:59:31:
Ребят, ну подскажите кто-нибудь,пожалуйсто
как реализовать перенаправление команд в скрипте в оболочку mysql???
А то вся работа встала... Застрял и незнаю как вылазить...
Или где хоть прочитать именно поэтому вопросу можно?
« Последнее редактирование: 02 Апреля 2011, 16:59:31 от IP-2011 »

Оффлайн Чистый

  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 3473
  • nix - вот оно счастье...
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #145 : 02 Апреля 2011, 22:10:48 »
а это не подойдет: http://www.opennet.ru/tips/info/1313.shtml
Тестовый репозиторий kdeNeur ppa:devcode/kdeneur
各々が死ぬことをどのように決定する

Оффлайн IP-2011

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #146 : 03 Апреля 2011, 08:50:03 »
а это не подойдет: http://www.opennet.ru/tips/info/1313.shtml
Немного другое, ну тоже интересные вещи есть. Спасибо!
Решил проблему по другому.
Может кому ещё понадобиться...
За решение отдельное Спасибо  Karl500
mysql -u root -p < file.sql
где file.sql файл с командами для mysql.

Пользователь решил продолжить мысль 03 Апреля 2011, 17:52:38:

Возможно ли в bash реализовать открытие документа поиск строки и замены её на ту что нам надо?
sed 's/before/after/g' myfile.txt
Подскажите пожалуйста ещё :)
Возникло несколько вопросов...
1. А как заместо вывода на экран полученный текст сохранить в тот же файл?
2. И ещё можно ли в вставляемый текст вставить перевод строки т.е. enter?
3. Можно ли добавить строки в конец файла после последней строки если последния строка неизвестна и неизвестно есть ли перевод строки после неё?
4. Можно ли вставить строку между двумя строками?
например так:
1 текст
2 искомая строка
3 текст
и чтобы получилось вот так:
1 текст
2 искомая строка
3 строка которую вставили
4 текст
« Последнее редактирование: 03 Апреля 2011, 17:52:38 от IP-2011 »

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #147 : 03 Апреля 2011, 20:46:04 »
sed 's/искомая строка/искомая строка\nстрока которую вставили/g'
или
sed 's/2 искомая строка/2 искомая строка\n3 строка которую вставили/g'
« Последнее редактирование: 03 Апреля 2011, 20:50:01 от victor00000 »
Wars ~.o

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: [HOWTO] Пишем bash скрипты
« Ответ #148 : 03 Апреля 2011, 20:48:00 »
1. А как заместо вывода на экран полученный текст сохранить в тот же файл?
https://forum.ubuntu.ru/index.php?topic=146264.msg1073876#msg1073876

Оффлайн IP-2011

  • Новичок
  • *
  • Сообщений: 20
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #149 : 04 Апреля 2011, 06:06:56 »
sed 's/искомая строка/искомая строка
строка которую вставили/g'
или
sed 's/2 искомая строка/2 искомая строка
3 строка которую вставили/g'
Спасибо! с переводом строки понятно.
находим строку заменяем её на такую же только добавляем перевод строки и новую строку...
Как бы ещё придумать в конец файла вставлять если последния строка неизвестна... :)

Пользователь решил продолжить мысль 04 Апреля 2011, 03:16:53:
1. А как заместо вывода на экран полученный текст сохранить в тот же файл?
https://forum.ubuntu.ru/index.php?topic=146264.msg1073876#msg1073876
Спасибо!!!
Помогло.

P.S. Где бы почитать на русском по работе со строками в bash подробно...

Пользователь решил продолжить мысль 04 Апреля 2011, 07:35:30:
Вот нашёл неплохой самоучитель
есть если не всё то очень многое.
В том числе и хорошие введение, и даже некоторые тонкости.
Тагже можно скачать себе.
http://www.opennet.ru/docs/RUS/bash_scripting_guide/
« Последнее редактирование: 04 Апреля 2011, 07:35:30 от IP-2011 »

 

Страница сгенерирована за 0.025 секунд. Запросов: 21.