Заставить скрипт оболочки сохранить команду на переднем плане после замены процесса - PullRequest
0 голосов
/ 23 октября 2018

У меня есть скрипт, который должен запустить jar и перенаправить его вывод в другой исполняемый файл, и мне нужно запустить его с несколькими различными параметрами.Мне нужно запускать его каждый раз изолированно, потому что он запускает некоторые тесты во время выполнения, и я не хочу, чтобы на них влияли другие выполняющиеся вещи.Моя проблема в том, что, как только первая команда закончила выводить свою информацию, вторая команда должна продолжаться (довольно долго), но управление возвращается в оболочку, и эта команда продолжается в фоновом режиме.

Сценарий выполняет что-то вроде:

java path.to.script param1 >(path/to/other/script param2 param3)
java path.to.script param4 >(path/to/other/script param5 param6)

, но как только команда java в первой строке завершена, она переходит прямо к следующей строке, в результате чего выполняется path/to/other/scriptдважды одновременно.

Чтобы быть более понятным, я хочу, чтобы приглашение отображалось только после завершения всей первой командной строки, то есть после того, как path/to/other/script завершил свою работу.

Как я могу это сделать?

1 Ответ

0 голосов
/ 23 октября 2018

A процесс подстановки действительно будет продолжать работать в фоновом режиме, вне контроля вызывающей оболочки.Вы, вероятно, просто хотите

java path.to.script param1 | path/to/other/script param2 param3
java path.to.script param4 | path/to/other/script param5 param6
...