Как выполняются строки в sh файле? (есть ли ожидание выполнения предыдущей строки?)

На самом деле это единственный раздел про unix на этом форуме

Модераторы: /dev/random, Модераторы разделов

Ответить
jazzyrock
Сообщения: 2

Как выполняются строки в sh файле?

Сообщение jazzyrock »

Добрый день.

Пишу .sh файл. Возник такой вопрос:

Если в файле 3 строки:

./script1
rm file1
./script2

Как выполняется такая последовательность?
Т.е. надо чтобы полностью выполнился скрипт1, потом удалился файл и после этого выполнился скрипт2.
Происходит ожидание выполнения предыдущего шага?

Или надо написать вот так:
./script1
wait $!
rm file1
wait $!
./script2

Спасибо сказали:
Аватара пользователя
nerve
Сообщения: 280
ОС: OpenBSD

Re: Как выполняются строки в sh файле?

Сообщение nerve »

следующая строка выполнится после того как предыдущая выполнится.
Спасибо сказали:
jazzyrock
Сообщения: 2

Re: Как выполняются строки в sh файле?

Сообщение jazzyrock »

nerve писал(а):
07.09.2016 14:50
следующая строка выполнится после того как предыдущая выполнится.

Т.е. первый вариант правильный.
А где про это можно почитать?
Просто даже не знаю как гуглу сформулировать. Предыдущий поиск привел как раз нахождению wait $!
Спасибо сказали:
Аватара пользователя
nerve
Сообщения: 280
ОС: OpenBSD

Re: Как выполняются строки в sh файле?

Сообщение nerve »

я думаю что новая строка - это тоже самое что и точка с запятой, то есть по сути такая запись ничем не будет отличаться:
./script1; rm file1; ./script2
а вот выполнится ли script1 или нет - это не важно.
чтоб перешло к другой команде достаточно чтоб предыдущая команда завершила свою работу.
то есть под выполнением следует понимать не то, отработала ли программа правильно или как ожидалось, а отработала ли вообще и даже если она отработала с ошибкой, то после этого начнет выполняться следующая программа.
Спасибо сказали:
Ответить