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


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

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

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

Оффлайн proman78

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #180 : 08 Июня 2011, 21:10:54 »
Цитировать
Помогите чайнику. Есть скрипт для ПДУ,установлен лирк.Как поместить скрипт в автозагрузку с правами root? Достаточно ли простого переноса в /usr/bin ?

недостаточно.

для "рутовых" автозагрузок использую файл /etc/rc.local (достаточно прописать только путь к скрипту).
один нюанс - rc.local выполняется до запуска х-сервера, соответственно, и логина юзера.
Значит поледовательность следующая:помещаем файл remote.sh в папку /usr/bin,и в файле rc.local второй строкой прописываем
# usr/bin/remote.sh
Правильно ли я вас понял?

ALiEN175

  • Автор темы
  • Гость
Re: [HOWTO] Пишем bash скрипты
« Ответ #181 : 09 Июня 2011, 03:08:47 »
Цитировать
Правильно ли я вас понял?

так точно!

обратите внимание:

строку прописываем без "решетки" впереди, и не забываем, что пути в Linux начинаются со слеша, т.е.
/usr/bin/remote.sh

Оффлайн spk-ubuntu

  • Активист
  • *
  • Сообщений: 502
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #182 : 09 Июня 2011, 08:18:51 »
Значит поледовательность следующая:помещаем файл remote.sh в папку /usr/bin
это необязательно

ALiEN175

  • Автор темы
  • Гость
Re: [HOWTO] Пишем bash скрипты
« Ответ #183 : 09 Июня 2011, 16:51:58 »
необязательно, но:
при помещении в папку /usr/bin/ скрипт становится доступным по имени (не нужно полностью прописывать путь)

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #184 : 09 Июня 2011, 17:19:33 »
при помещении в папку /usr/bin/ скрипт становится доступным по имени (не нужно полностью прописывать путь)
Верно.
Есть еще несколько таких мест. Их можно посмотреть так.
$ echo $PATH
/home/al/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

Оффлайн talifero

  • Участник
  • *
  • Сообщений: 181
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #185 : 05 Июля 2011, 18:33:40 »
Привет всем !
Есть список из двух частей такого вида:
Иванов
Петров
Сидоров
12:30
14:45
15:18
надо преобразовать в :
Иванов 12:30
Петров 14:45
Сидоров 15:18
Т.Е. первая фамилия совпадает с первым временем, вторая со вторым и т.д.
Какой утилитой это лучше сделать?



Пользователь решил продолжить мысль 06 Июля 2011, 19:43:08:
Нашел сам, наверно лучший вариант:
Цитировать
Команда join оперирует только двумя файлами и объедияет только те строки, которые имеют общее поле (обычно числовое), результат объединения выводится на stdout. Объединяемые файлы должны быть отсортированы по ключевому полю.
« Последнее редактирование: 06 Июля 2011, 19:43:08 от talifero »

Оффлайн talifero

  • Участник
  • *
  • Сообщений: 181
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #186 : 08 Июля 2011, 12:37:08 »
Еще вопрос .
Почему так работает?
convert -background transparent -pointsize 45 label:' 15 Описание:Alumnato kiemas 1912 m.' 1912.pngА так, нет?
string="' 15 Описание:Alumnato kiemas 1912 m.'"
convert -background transparent -pointsize 45 label:$string 1912.png

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: [HOWTO] Пишем bash скрипты
« Ответ #187 : 08 Июля 2011, 12:39:01 »
Может так:
string="' 15 Описание:Alumnato kiemas 1912 m.'"
convert -background transparent -pointsize 45 label:"$string" 1912.png
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн talifero

  • Участник
  • *
  • Сообщений: 181
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #188 : 08 Июля 2011, 13:04:55 »
Большое Спасибо !!!!

Оффлайн pe1ro

  • Участник
  • *
  • Сообщений: 123
  • xubuntu 9.10
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #189 : 27 Июля 2011, 22:48:37 »
Коллеги, возник вопрос по sed.
Есть набор данных, по которым нужно выполнить замену (символы с начала строки до совпадения с "value" стереть)
Вот данные:
(Нажмите, чтобы показать/скрыть)
данные - одной строкой.
Команда
sed 's/^.*value//'Не производит замены вообще. Как такое может быть?  :idiot2:
« Последнее редактирование: 27 Июля 2011, 22:51:14 от pe1ro »

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: [HOWTO] Пишем bash скрипты
« Ответ #190 : 27 Июля 2011, 23:00:54 »
$ echo '<div id="initial_list"><div class="audio fl_l" id="audio2084145_127982992" onmouseover="addClass(this, &#39;over&#39;);" onmouseout="removeClass(this, &#39;over&#39;);">  <div class="repeat_wrap"><div onmouseover="showTooltip(this, {text: &#39;оНБРНПЪРЭ ЩРС ЙНЛОНГХЖХЧ&#39;, showdt: 200})" id="repeat2084145_127982992" class="fl_r repeat" onclick="audioPlayer.toggleRepeat()"></div></div>  <div class="fl_l">  <a name="2084145_127982992"></a>  <table cellspacing="0" cellpadding="0">    <tbody><tr>      <td class="play_btn">        <a onclick="playAudioNew(&#39;2084145_127982992&#39;)"><div class="play_new" id="play2084145_127982992"></div></a>        <input type="hidden" id="audio_info2084145_127982992" value="http://cs1544.vkontakte.ru/u7340876/audio/5105e6af2eb8.mp3' | sed 's/^.*value="//'
http://cs1544.vkontakte.ru/u7340876/audio/5105e6af2eb8.mp3
УМВР
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

Оффлайн pe1ro

  • Участник
  • *
  • Сообщений: 123
  • xubuntu 9.10
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #191 : 27 Июля 2011, 23:08:59 »
понял, он берёт данные из файла и русские буквы не распознаются и он отказывается что-либо делать, ясно! Спасибо! Я бы себе голову сломал, но сам бы не догадался!
реально 2 часа на это ушлёпал.
« Последнее редактирование: 27 Июля 2011, 23:11:34 от pe1ro »

III_variant

  • Автор темы
  • Гость
Re: [HOWTO] Пишем bash скрипты
« Ответ #192 : 05 Декабря 2011, 04:55:21 »
Переключатель выбора посредством zenity (предполагается, что будет больше условий, но пока не работает и так)    #!/bin/sh

    ZEN=$(zenity --question --title="Вопрос" --text="Сообщение" --ok-label="Ок" --cancel-label="Отмена")

    if [ "$ZEN" = 0 ]
       then
       espeak -vru "ок"
       else
       espeak -vru "отмена"
    fi

Почему zenity (espeak) при любом выборе произносит отмена? В консоли после zenity команда $? выводит 0 при "ок" и "1" при отмена. Заранее спасибо!

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: [HOWTO] Пишем bash скрипты
« Ответ #193 : 05 Декабря 2011, 08:16:01 »
ZEN=`комманда`
Обратите внимание, что скобки д.б. обратные-одинарные, если в переменную нужно получить результат стандартного вывода.
При Вашем варианте в переменной будет другой результат - ошибка или не ошибка выполнения команды.
ЗЫ. Почувствуйте разницу.
« Последнее редактирование: 05 Декабря 2011, 08:21:57 от alexander.pronin »

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: [HOWTO] Пишем bash скрипты
« Ответ #194 : 05 Декабря 2011, 09:23:03 »
III_variant,
ZEN=$(zenity --question --title="Вопрос" --text="Сообщение" --ok-label="Ок" --cancel-label="Отмена" ; echo $?)

zenity --question --title="Вопрос" --text="Сообщение" --ok-label="Ок" --cancel-label="Отмена"
ZEN=$?
« Последнее редактирование: 05 Декабря 2011, 09:25:18 от arcfi »

 

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