заказывать stderr и stdout - PullRequest
       59

заказывать stderr и stdout

0 голосов
/ 10 декабря 2018

я получил следующую пакетную команду

echo 1 & echo 2 1>&2 & echo 3

иногда это печатает 1 2 3, а иногда 132, как я могу контролировать заказ?У меня должен быть порядок.

есть команда, которая включает следующее?

echo 1 & echo 2 1>&2 & flush_stderr() & echo 3

1 Ответ

0 голосов
/ 14 декабря 2018

Если вы используете && вместо &, она будет переходить к следующей команде только в том случае, если предыдущая была успешно выполнена.В этом смысле вы можете обеспечить определенную прогрессию.

Я считаю, что в некоторых случаях, когда вы запускаете строку, одна из последних команд завершается раньше, чем предыдущая, потому что все они запускаются практически одинаково.время.

Редактировать: Другое решение (хотя и более подробное) - запустить start /wait для каждой команды.Т.е. start "" /b /wait cmd /c "echo 1" & start "" /b /wait cmd /c "echo 2" 1>&2 & start "" /b /wait cmd /c "echo 3"

...