Автор Тема: Изпълнена команда в bash  (Прочетена 3967 пъти)

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8911
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Изпълнена команда в bash
« -: Oct 15, 2014, 21:09 »
Нещо ме вълнува от едно известно време, ама май няма да ми се усмихне щастито. Въпроса е, като си направиш някакъв изпълним пакет, дали има начин да стартираш нещо, след като друго нещо се е изпълнило. Гледал съм доста (доста, доста, колко да са доста) и там проблема се решава със спане (sleep), ама това е невероятна грозотия. Няма ли нещо по-умно от това? Все пак сме Юникс мамка му, най-добрата ОС на всички времена. Дето викаше админа на Юникс хейтърите, едно време беше най-лошата, сега е най-добрата на пазара и то без да направи нищо по въпроса :P
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

4096bits

  • Напреднали
  • *****
  • Публикации: 7929
    • Профил
Re: Изпълнена команда в bash
« Отговор #1 -: Oct 15, 2014, 21:39 »
първа_команда && втора_команда
Ако първата команда се изпълни, се изпълнява и втората

първа_команда ; втора_команда
Първата команда се изпълнява, след това втората.

А можеш и да порвериш exit status-а на едната програма и според върнатото да изпълняваш нещо друго след това.
Тази стойност се пази във $?
echo $? ще ти върне exit status на послесната команда от шела например
Може да го включиш в if и да правиш после каквото искаш
Ето ти и значенията на различните върнати стойности
http://tldp.org/LDP/abs/html/exitcodes.html
« Последна редакция: Oct 15, 2014, 21:47 от 4096bits »
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8911
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Изпълнена команда в bash
« Отговор #2 -: Oct 15, 2014, 21:45 »
А не и аз така си помислих, ама не е така. Пробвах го това, Опитай например:

Код
GeSHi (Bash):
  1. X :1 && DISPLAY=:1 xterm

Да видиш, че това е тъпотия и не става така.

Разбира се точно в случая се предполага, че не си толкова тъп и ще използваш Xephyr (щото няма кой да оправи Xnest), но например, аз си имам легална причина да го искам.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

4096bits

  • Напреднали
  • *****
  • Публикации: 7929
    • Профил
Re: Изпълнена команда в bash
« Отговор #3 -: Oct 15, 2014, 21:48 »
А пробва ли да затвориш командите в единични кавички
или това единичното обратното, не помня как се казваше
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

4096bits

  • Напреднали
  • *****
  • Публикации: 7929
    • Профил
Re: Изпълнена команда в bash
« Отговор #4 -: Oct 15, 2014, 21:52 »
А пробва ли да затвориш командите в единични кавички
или това единичното обратното, не помня как се казваше
Ти не задаваш ли стойност във втората просто
и после пускаш терминал
Това не са ли две отделни неща?
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

4096bits

  • Напреднали
  • *****
  • Публикации: 7929
    • Профил
Re: Изпълнена команда в bash
« Отговор #5 -: Oct 15, 2014, 21:55 »
When DISPLAY does not contain a hostname, e.g. it is set to :0,.
Eй тоя цитат прочетох току-що, че проверих, какво прави това нещо
Не знаех
И не е ли
xterm  -display :1
« Последна редакция: Oct 15, 2014, 21:59 от 4096bits »
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8911
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Изпълнена команда в bash
« Отговор #6 -: Oct 15, 2014, 22:00 »
На мен въобще изобщо не ми пречи да ги изпълня ръчно или със спане, просто ме дразни да има нещо уродливо. Искам красота, тя щяла да спаси света. Понеже съм слабопаметтен, не помня, кой го е казал, ала мразя свинщини.
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

4096bits

  • Напреднали
  • *****
  • Публикации: 7929
    • Профил
Re: Изпълнена команда в bash
« Отговор #7 -: Oct 15, 2014, 22:06 »
Искаш да пуснеш xterm на друг монитор ли?
Ми, ако това са командите, каква красота искаш в нещо толкова накъсано на вид  ;D
Можем да пуснем конкурс със задача да се направи по възможно най-сложен начин и тогава нещо може и да ти хареса  ::)
Правили са такива, за "Hello World!"
Активен

As they say in Mexico, "Dasvidaniya!" Down there, that's two vidaniyas.

Odido

  • Напреднали
  • *****
  • Публикации: 627
  • Distribution: Arch Linux
  • Window Manager: Gnome
    • Профил
Re: Изпълнена команда в bash
« Отговор #8 -: Oct 15, 2014, 22:27 »
Много съм слабичък в баш ама колегата 4096bits мисля, че даде удачен втори пример с :
[

първа_команда ; втора_команда
Първата команда се изпълнява, след това втората.


Само малка редакция му трябва :
(първа_команда );( втора_команда)

Дано съм разбрал правилно въпроса ти go_fire.
Активен

"Congratulations, you broke the Internet
Look at what you did! Are you happy now?"

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8911
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Изпълнена команда в bash
« Отговор #9 -: Oct 15, 2014, 22:58 »
За съжаление О Дидо няма разлика с и без скоби. Благодаря все пак, че си отдели от времето за мен!
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

Odido

  • Напреднали
  • *****
  • Публикации: 627
  • Distribution: Arch Linux
  • Window Manager: Gnome
    • Профил
Re: Изпълнена команда в bash
« Отговор #10 -: Oct 16, 2014, 00:51 »
Вместо sleep ,може пък  wait да ти свърши същата работа ,знам ли.Най-добре да потнеш кода ,който ползваш и тук да се намесят баш майсторите.
Активен

"Congratulations, you broke the Internet
Look at what you did! Are you happy now?"

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: Изпълнена команда в bash
« Отговор #11 -: Oct 16, 2014, 07:41 »
А не и аз така си помислих, ама не е така. Пробвах го това, Опитай например:

Код
GeSHi (Bash):
  1. X :1 && DISPLAY=:1 xterm

Да видиш, че това е тъпотия и не става така.

Разбира се точно в случая се предполага, че не си толкова тъп и ще използваш Xephyr (щото няма кой да оправи Xnest), но например, аз си имам легална причина да го искам.
Код:
X :1& sleep 10; DISPLAY=:1 xterm
Активен

0x2B|~0x2B

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8911
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Изпълнена команда в bash
« Отговор #12 -: Oct 16, 2014, 08:05 »
О Дидо, дали ще е чакане или спане все е щуротия. По принцип 4096 бита извади нещо интересничко от tld, за което не знаех, ESR е прав, че днешният потребител документация не чете, директно пита леля Гошовица.

Но, както и предполагах, елегантно решение няма. Щом и Нинов го казва (О Дидо, Нинов е от доайените тук, професионалист), значи няма. Благодаря на всички, които се включиха!
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Re: Изпълнена команда в bash
« Отговор #13 -: Oct 16, 2014, 08:25 »
О Дидо, дали ще е чакане или спане все е щуротия. По принцип 4096 бита извади нещо интересничко от tld, за което не знаех, ESR е прав, че днешният потребител документация не чете, директно пита леля Гошовица.

Но, както и предполагах, елегантно решение няма. Щом и Нинов го казва (О Дидо, Нинов е от доайените тук, професионалист), значи няма. Благодаря на всички, които се включиха!
То по-елегантно няма как да стане (или поне аз не знам, не се сещам). Въпроса е че Х трябва да е стартиран за да пуснеш терминала. А стартирането на Х отнема известно време. И не можеш да ползваш двата амперсанда, защото това би означавало че втората команда ще се изпълни след успешно (с код 0) завършване на предишната. А на теб ти трябва пуснат Х :) Заради това е и този sleep
П.П. И благодаря за определението
Активен

0x2B|~0x2B

go_fire

  • Global Moderator
  • Напреднали
  • *****
  • Публикации: 8911
  • Distribution: Дебиан Сид
  • Window Manager: ROX-Desktop / е17
  • кашик с гранатомет в танково поделение
    • Профил
    • WWW
Re: Изпълнена команда в bash
« Отговор #14 -: Oct 16, 2014, 08:39 »
Така и така сме тук да задам един под въпрос. Как да направя така, че да не ми текат началните надписи, а да има например едно: Loading… Виждал съм това много дистрибуции го правят. Да зная, че мога да сложа Плимут и да ми се върти някаква цветна анимациика, ама аз единствено искам да подтисна надписите.

Това не за мен, аз даже предпочитам да ги има, защото си ги чета (машинката ми не е толкова бърза, че да са нечетими) и следя дали всичко е в ред. Но има хора, като ги видят и изпадат в ужас. Та за благото на семейните питам. 
Активен

В $por4e2 e истината  ;)

***

Aко даваха стипендия за най-глупави, щях да съм човека с най-много Mини Kупъри

***

Reborn since 1998 || 15.09.2007 totally М$ free && conscience clear

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
BASH: Как да поддържам една програма работеща
Общ форум
Regia 1 13068 Последна публикация Feb 16, 2005, 08:51
от
bash
Настройка на програми
tuxi 7 8900 Последна публикация Jun 11, 2005, 19:12
от tuxi
Моля за малко помощ за BASH
Настройка на програми
bonbon 3 7168 Последна публикация Dec 04, 2005, 16:37
от bonbon
BASH
Общ форум
Dean79 3 7264 Последна публикация Jan 13, 2006, 00:24
от Dean79
Bash присвояване на стойност от файл
Общ форум
Pulear 6 7891 Последна публикация May 21, 2006, 17:20
от Pulear