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

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

Модератор: /dev/random

jazzyrock
Сообщения: 2

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

Сообщение jazzyrock » 07.09.2016 14:47

Добрый день.

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

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

./script1
rm file1
./script2

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

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

Спасибо сказали:

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

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

Сообщение nerve » 07.09.2016 14:50

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

jazzyrock
Сообщения: 2

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

Сообщение jazzyrock » 07.09.2016 14:55

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

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

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

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

Сообщение nerve » 07.09.2016 17:18

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

Sergiy17
Сообщения: 6
ОС: OpenSUSE

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

Сообщение Sergiy17 » 08.09.2016 23:06

Спасибо сказали: