bash-sigpipe
Проблемы с pipefail в bash
Решил попробовать писать скрипты с pipefail, но с ними возникают проблемы, когда используешь команду head
Предыдущему потоку в pipe посылается сигнал SIGPIPE, поэтому он падает.
Для того, чтобы этого избежать помогло следующее
echo (git show --pretty=format:%H || [ $? -eq 141 ] ) | head -n1)
echo "${PIPESTATUS[@]}"
То есть мы проверяем код возврата команды, которая может упасть с SIGPIPE и не падаем, если поймали нужный код
Пробовал ещё другие варианты, но они не помогли:
НЕ ПОМОГЛО
nothing() {
return 0
}
# trap nothing PIPE
#linux #pipefail #bash