Как установить код выхода при выходе из bash? - PullRequest
0 голосов
/ 20 сентября 2019

Я хочу запустить команду из суббаша, и мне нужен код возврата от нее;на самом деле он запускает конвейер, и мне нужен массив PIPESTATUS или хотя бы один компонент.

Это было мое лучшее предположение, и оно не работает.Я просто получаю 0. Поскольку Bash не ошибка, это имеет смысл, это просто не то, что мне нужно.Помощь?

bash -c "echo 123 | grep abc | sort; exit ${PIPESTATUS[1]}"; echo $?
0

1 Ответ

1 голос
/ 20 сентября 2019

Попробуйте с одинарными кавычками:

bash -c 'echo 123 | grep abc | sort; exit ${PIPESTATUS[1]}'; echo $?

Примеры запусков:

bash -c 'echo 123 | grep abc | sort; exit ${PIPESTATUS[1]}'; echo $?
1

bash -c 'echo 123 | grep abc | sort; echo status is ${PIPESTATUS[@]}'; echo $?
status is 0 1 0
0

С этим связан пост .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...