Описание тега pipestatus

2 ответа

Повторять команду канала до тех пор, пока первая команда не будет выполнена успешно, а вторая команда не будет выполнена

Я пытаюсь понять, как заставить мой bash-скрипт работать. У меня есть следующая команда: curl http://192.168.1.2/api/queue | grep -q test Мне нужно это повторять до тех пор, пока первая команда в конвейере не будет выполнена успешно (это означает, ч…
04 окт '16 в 19:06
2 ответа

PIPESTATUS игнорирует отрицание?

Я только что нашел следующие результаты в bash (версия 4.2.25(1)-релиз): $ true; echo "${PIPESTATUS[@]}" 0 $ ! true; echo "${PIPESTATUS[@]}" 0 $ false; echo "${PIPESTATUS[@]}" 1 $ ! false; echo "${PIPESTATUS[@]}" 1 $ true && false; echo "${P…
06 апр '16 в 09:15
1 ответ

Получение статуса завершения вложенной команды внутри перенаправления, прикрепленного к тройнику

У меня есть эта команда: coverage report | tee >(grep TOTAL | awk '{exit (int($4) >= 75)?0:1}') && (exit ${PIPESTATUS[0]}) который сообщает о покрытии кода, а затем печатает вывод stdout и перенаправляет этот же вывод в grep + awk, кот…
24 окт '18 в 00:03
1 ответ

Отслеживается ли PIPESTATUS процессов, работающих в фоновом режиме?

Расширяя вопрос, предложенный Сайрусом, я хотел знать, смогу ли я отследить тот же сценарий с PIPESTATUS или что-то подобное, если я отправил его в фоновом режиме? скрипт bash выглядит следующим образом: #! /bin/bash { python script.py 2>&1 |…
04 авг '19 в 12:40
3 ответа

PIPESTATUS[0] в скрипте BASH

Реализую сценарий в сценариях Unix Bash. У меня есть два скрипта ABC.bash и XYZ.bash. В ABC.bash есть одно условие, когда запрашивающая сторона не вводит Y или скрипты y, выходят с сообщением и не работают дальше. ABC.bash работает нормально при зап…
10 авг '20 в 11:40
1 ответ

Как установить код выхода при выходе из bash?

Я хочу запустить команду из под-bash, и мне нужен код возврата из нее; на самом деле он запускает конвейер, и мне нужен массив PIPESTATUS или хотя бы один компонент. Это было мое лучшее предположение, и оно не работает. Я просто получаю 0. Поскольку…
20 сен '19 в 05:00
1 ответ

Сохранять код выхода из команды bash, несмотря на то, что вывод передается через sed

Я только что заметил, что некоторые из моих заданий CI вернулись нормально, даже если компиляция не удалась. Это было в основном потому, что команда bash, вызываемая для компиляции кода, при сбое и возвращении 1, пропускала свой вывод по конвейеру, …
17 фев '21 в 15:19
1 ответ

Захват статуса выхода дочернего процесса отличается в CentOS 6 и Ubuntu 20.04 (на Perl)?

Я адаптирую сценарий резервного копирования Perl из CentOS 6 в Ubuntu 20.04. Подпрограмма ExecCmd() запускает дочерний процесс для системного вызова rsync. В CentOS 6 он заполняет переменную $ExecCmdOut выводом rsync и возвращает статус выхода, $ pi…
24 мар '21 в 18:12