2019-09-23 Обработка Результата Пайпом

Нарушено правило: StrongBash

Задача: Обойти все зоны, выдаваемые другой командой.

cloudfox dns info "$DNS_NAME" --zones | while read -r DNS_ZONE; do 
    ....
done

Ошибка: Если при выполнении «cloudfox dns info» будет ошибка - она будет «заглушена», т.к. она в пайпе и не стоит set -o pipefail.

Как надо делать: StrongBash предлагает такие варианты:

Вы можете:
1. Или использовать промежуточную переменную ret=$( $cmd )
2. Или использовать строкой выше set -o pipefail cmd set +o pipefail (кроме использования в if $cmd | cmd2)
4. Или если Вы считаете код достаточно надежным для конкретного случая, добавьте || true в конце
5. Или комментарий строкой выше # skip strongbash034

Я сделал так:

cloudfox dns info "$DNS_NAME" --zones >/tmp/cf_script.tmp.$$
while read -r DNS_ZONE; do 
    ....
done < /tmp/cf_script.tmp.$$
rm -f /tmp/cf_script.tmp.$$

~~OWNERAPPROVE~~

Прочитал правила разработки как не надо делать 2019-09-23 обработка результата пайпом
Yes(6) No(0) Clear

Yes:
Nikolay Carbonsoft, Alexander Sobyanin, , Наумов Михаил, Сергей Трошин, Анохин Владимир,

No:

Ваш комментарий. Вики-синтаксис разрешён: