2016-08-08 3 views
0

У меня есть два файла сценария оболочки. Один из них - это общий файл, который устанавливает что-то в системе, а другой - файл, который обрабатывает некоторые этапы установки.Вызов и возврат значения из сценария оболочки с помощью nohup

file1: Главный файл установки file2: Установка файла помощи

Я зову file2 из file1 с помощью

nohup ./file2.sh $1 </dev/null >../logs/schema.log 2>&1 & 
schema_status=$? 
echo $schema_status 

Теперь из-за поЬир значение schema_status подходит как 0 всегда.

Как вернуть соответствующее значение из файла2 в файл1.

В file2, я добавил оператор возврата:

if (condition) 
then 
    exit 101 
else 
    exit 102 
fi 

ответ

0

Пожалуйста, перейдите по ссылке, где проблема похожа на ваш обсуждается. Он предлагает вам экспортировать переменную окружения в file1.sh, а затем установить эту переменную среды в файле2.sh. Благодаря этому вы сможете вернуть (косвенно) от file2.sh к file1.sh

Pass all variables from one shellscript to another?

0

Когда file1 file2 звонит и ждет результата, не начинайте file2 с поЬир. Когда file2 занимает много времени, вы можете запустить file1 без nohup.

Смежные вопросы