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


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Работа скрипта, zenity  (Прочитано 1655 раз)

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

Оффлайн Exo_Ist

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Работа скрипта, zenity
« : 30 Марта 2011, 01:31:38 »
Пытаюсь разобраться но чтото не так...
Можете помочь?

Цитировать
#!/bin/sh

l=$(zenity --question --text="ТУТ Гугол!!!!!!" --ok-label="Перейти -->"  --cancel-label="Потом")

if [ "$l" = "1" ]; then
   firefox http://google.com &
fi
exit



Спасибо
« Последнее редактирование: 17 Февраля 2012, 02:20:26 от Exo_Ist »

Оффлайн Torna

  • Новичок
  • *
  • Сообщений: 40
    • Просмотр профиля
Re: Что здесь не так?
« Ответ #1 : 30 Марта 2011, 02:28:34 »
if [ "$l" = "1" ]; thenнужно if [ "$l" == "1" ]; then
А так прикольная штука, не знал о ней.
#!/bin/bash
 
if zenity --question --text="ТУТ Гугол!!!!!" --ok-label="Перейти -->"  --cancel-label="Потом"; then
    firefox http://google.com
else
    zenity --error --text="Потом так потом"
fi

А вот твой вариант. Всё еще не пойму как грамотно сравнивать. Дело в истина/лож. 0 и 1 не работают.
#!/bin/bash

l=$(zenity --question --text="ТУТ Гугол!!!!!!" --ok-label="Перейти -->"  --cancel-label="Потом")

if [ "$l" == "" ]; then
firefox http://google.com
fi
« Последнее редактирование: 30 Марта 2011, 04:15:11 от Torna »

Оффлайн Мангуст

  • Любитель
  • *
  • Сообщений: 98
    • Просмотр профиля
Re: Что здесь не так?
« Ответ #2 : 30 Марта 2011, 10:07:38 »
#!/bin/sh

zenity --question --text="ТУТ Гугол!!!!!!" --ok-label="Перейти -->"  --cancel-label="Потом"

if [ $? -eq 0 ]; then
firefox http://google.com
fi

Консольные команды (скрипты, функции) имеют два простых способа возвращать значения - через стандартный вывод и через код выхода с помощью exit (в С и шелл, в С еще это return из main). При присваивании результата работы команды, переменной присваивается то, что команда вывела на stdin. В данном случае через стандартный вывод не передается ничего, а код выхода (который, равен 0 в случае "успеха") фиксируется в переменной "$?".  Этот же статус выхода команды проверяет if, что позволяет использовать напрямую - if zenity .... Ну а подробности - man zenity.

« Последнее редактирование: 30 Марта 2011, 10:21:17 от Мангуст »

Оффлайн alexander.pronin

  • Старожил
  • *
  • Сообщений: 2539
    • Просмотр профиля
Re: Что здесь не так?
« Ответ #3 : 30 Марта 2011, 12:11:34 »
В наутилусе
Справка - содержание - в строке поиска наберите - zenity
И увидите в красивом виде с картинками.

Оффлайн Exo_Ist

  • Автор темы
  • Новичок
  • *
  • Сообщений: 43
    • Просмотр профиля
Re: Что здесь не так?
« Ответ #4 : 30 Марта 2011, 14:18:57 »
Ясно, всем спасибо...
Просто етим методом хочу рутинную работу оптимизировать :-)

Оффлайн -=Иван=-

  • Участник
  • *
  • Сообщений: 134
    • Просмотр профиля
Re: Что здесь не так?
« Ответ #5 : 31 Марта 2011, 16:15:27 »
Делайте понятней тему, а то не поймешь о чем тема. Не удобно при поиске информации на форуме
Текстовый редактор vi имеет два режима работы: в первом он пищит, а во втором — всё портит.

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Что здесь не так?
« Ответ #6 : 04 Декабря 2011, 17:08:37 »
// Смените название темы на более информативное, иначе тема будет закрыта.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

 

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