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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

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

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

Оффлайн Goren

  • Активист
  • *
  • Сообщений: 808
  • Unconditional Love
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #60 : 20 Декабря 2009, 03:41:24 »
banshee у меня не стоит, поэтому полностью скрипт потестить не могу. Может это поможет:

$ if [ ! -z $(pgrep banshee) ]; then echo true; else echo false; fi
false

$ if [ ! -z $(pgrep firefox) ]; then echo true; else echo false; fi
true

banshee у меня нет, firefox работает.
« Последнее редактирование: 20 Декабря 2009, 03:43:15 от Goren »
Be a realist - denounce the obvious!

Оффлайн Children of koRn

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #61 : 20 Декабря 2009, 04:21:28 »
banshee у меня не стоит, поэтому полностью скрипт потестить не могу. Может это поможет:

$ if [ ! -z $(pgrep banshee) ]; then echo true; else echo false; fi
false
не уверен что вообще понял тебя, но такой вариант "$ if [ ! -z $(pgrep banshee) ];" вообще что-то не работает,
пробовал
Цитировать
if [ ! -z "$(pgrep banshee)" ]
или
Цитировать
if [ -n "$(pgrep banshee)" ];
* остальной код прежний

опять же работа в одностороннем порядке.

Цитировать
firefox работает.
проверил на лисе:
(Нажмите, чтобы показать/скрыть)
работает :)
тоже самое для banshee:
(Нажмите, чтобы показать/скрыть)
не рабоатет, если плеер не запущен, то запускается пустая консоль и стартует плеер, если запущен выводится инфо о треке.

что-то тут не так..

к слову, этот вариант всё же не рабочий:
(Нажмите, чтобы показать/скрыть)

а этот вполне:
(Нажмите, чтобы показать/скрыть)

но опять же для лисы, ума не приложу почему с banshee такая ерунда.. pgrep то одинаково ведёт себя с обоими приложениями..
« Последнее редактирование: 20 Декабря 2009, 04:56:52 от Children of koRn »
Another year, another revolution.

Оффлайн Goren

  • Активист
  • *
  • Сообщений: 808
  • Unconditional Love
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #62 : 20 Декабря 2009, 11:04:00 »
Заинтриговал ты меня. Поставил себе эту банши (6 с чем-то метров еретических моно-библиотек, и вообще, как можно пользоваться таким тормозным монстром - ума не приложу, ну да ладно, оффтопик). Вот однострочник:

$ if [ ! -z $(pgrep banshee) ]; then echo $(banshee-1 --query-artist --query-title); else echo false; fi

работает без проблем. Так что разбирайся, где у тебя косяк. И да, начальный знак $ - это промт, так что копировать в скрипт его не надо, это на всякий случай  ;)

Пользователь решил продолжить мысль 20 Декабря 2009, 11:14:30:
Вот скрипт в нормальном виде есичо:

#!/bin/bash
if [ ! -z $(pgrep banshee) ]
then echo $(banshee-1 --query-artist --query-title)
else echo "Banshee is not running!"
fi
« Последнее редактирование: 20 Декабря 2009, 11:14:30 от Goren »
Be a realist - denounce the obvious!

Оффлайн Dexxy15

  • Новичок
  • *
  • Сообщений: 15
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #63 : 20 Декабря 2009, 15:45:40 »
cпасибо нужная вещь  ::)

Оффлайн Children of koRn

  • Новичок
  • *
  • Сообщений: 30
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #64 : 21 Декабря 2009, 01:30:05 »
Goren
спасибо, работает :)
Another year, another revolution.

Оффлайн krivedko-kun

  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #65 : 23 Февраля 2010, 15:11:05 »
а я не понял, как скрипт то создавать???
ubuntu 9.10 (GNOME; KDE 4.4; ion3)

Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: HOWTO: Пишем bash скрипты
« Ответ #66 : 23 Февраля 2010, 15:38:16 »
Создаёщь пустой документ в любом месте и пишешь туда свой скрипт. Потом сохраняешь файл и делаешь исполняемым - sudo chmod +x /path/to/file . Запускается сие из консоли написанием /path/to/file .
Но ведь намного удобнее, когда скрипт можно запустить без пути, просто написав его название. Для этого файл надо создавать в  папке /usr/bin , но лучше в /home/твойаккаунт/bin , (папку bin надо создать и перезагрузиться, без перезагрузки скрипты оттуда почему-то не работают). После этого делаешь свой скрипт исполняемым и пользуешься.

Оффлайн krivedko-kun

  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #67 : 23 Февраля 2010, 15:41:38 »
спасибо, а то делаю #!/bin/bash и ничего не пойму. а файл создавать через текстовой редактор?
ubuntu 9.10 (GNOME; KDE 4.4; ion3)

Оффлайн [DarkNet]Alpha

  • Активист
  • *
  • Сообщений: 987
  • Эмоциональный эльдар
    • Просмотр профиля
    • EBM-радио
Re: HOWTO: Пишем bash скрипты
« Ответ #68 : 23 Февраля 2010, 15:42:39 »
Да.

Оффлайн talifero

  • Участник
  • *
  • Сообщений: 181
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #69 : 23 Февраля 2010, 15:56:02 »
Нужно  человеку разницу объяснит между  /usr/bin  и  /home/твойаккаунт/bin. Я например раньше ни знал и все время  в /usr/bin с правами игрался :)
Короче если скрипт в /usr/bin он будет у всех запускаться,  а если  в /home/твойаккаунт/bin то только у тебя.

Оффлайн Щурин Юрий Евгеньевич

  • Участник
  • *
  • Сообщений: 212
  • "Войны ещё никого не сделали великим .." - м. Йода
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #70 : 05 Апреля 2010, 19:17:48 »
Народ!

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

Буду очень признателен.  ;)

Оффлайн talifero

  • Участник
  • *
  • Сообщений: 181
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #71 : 08 Апреля 2010, 15:37:52 »
на вскидку:

#!/bin/bash

while :
do
    mv *.txt /path/to/dir
    sleep 30
done


Поместить в .bashrc  в виде scriptname&, должно работать

« Последнее редактирование: 08 Апреля 2010, 15:51:49 от talifero »

Оффлайн Щурин Юрий Евгеньевич

  • Участник
  • *
  • Сообщений: 212
  • "Войны ещё никого не сделали великим .." - м. Йода
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #72 : 14 Апреля 2010, 16:02:07 »
Спасибо!

У меня вопрос тоже был на вскидку, так что подумав ... нашел решение близкое к вашему  :D

Оффлайн sexomatozz

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #73 : 02 Июня 2010, 09:53:32 »
Please HELP!

как написать скрипт, который из текущего каталога удаляет файлы, в названиях которых вторая буква "b"?

заранее спасибо

Оффлайн Polkan

  • Участник
  • *
  • Сообщений: 124
    • Просмотр профиля
Re: HOWTO: Пишем bash скрипты
« Ответ #74 : 02 Июня 2010, 15:43:48 »
Please HELP!
как написать скрипт, который из текущего каталога удаляет файлы, в названиях которых вторая буква "b"?
заранее спасибо
Ну, например так:
find . -iname "?b*" -exec rm {} \;

 

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