[ОТВЕТИТЬ]
Опции темы
18.09.2007 18:00  
Pyatak
Подскажите такую вещь:

Имеется два sh скрипта (script1 и script2)
Для примера таких:

script1
-----------8<---------
#!/bin/sh
echo "Hello world!"
script2
echo "Goodbay world"
----------->8---------

script2
-----------8<---------
#!/bin/sh
echo "Hello from script2"
exit 0
----------->8---------


Вобщем, из первого вызывается второй и если во втором скрипте есть команда exit, то по завершении второго первый не продолжает свое выполнение, как так вызвать второй скрипт, чтобы по команде exit x из второго скрипта управление вернулось первому?
 
19.09.2007 10:45  
akonev
странно это все. у меня не выкидывает из первого. правда, у меня только фряха под рукой есть.

предположим, что у тебя по exit 0 закрывается текущий шелл.
попробуй вложенный скрипт запускать в новом экземпляре:
Код:
echo "Hello world!"
sh script2
echo "Goodbay world"
еще, наверное, можно поиграться с trap
 
19.09.2007 11:46  
Pyatak
Упс. Прошу прощения, разобрался в чем причина, синтаксис немного другой был, из первого скрипта второй вызывался так:
Код:
. ./script2
Так вот, если первую точку убрать, то всё будет работать как надо, а если оставить, то видимо второй скрипт воспринимается не как отдельный, а как вложенный (include) в этот и, соответственно, по exit завершается всё.
 
 
Опции темы



Часовой пояс GMT +3, время: 15:08.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.