'try'문과 같지만 bash 내에 여러 명령에 대해 pipefail과 비슷한 것이 있습니까? 나는 이런 식으로하고 싶다 :
echo "trying stuff"
try {
command1
command2
command3
}
어느 시점에서든 명령이 실패하면 해당 명령의 오류를 제거하고 반향하십시오. 나는 다음과 같은 일을하고 싶지 않습니다.
command1
if [ $? -ne 0 ]; then
echo "command1 borked it"
fi
command2
if [ $? -ne 0 ]; then
echo "command2 borked it"
fi
그리고 등등 ... 또는 같은 것 :
pipefail -o
command1 "arg1" "arg2" | command2 "arg1" "arg2" | command3
내가 믿는 (각각 틀렸다면 교정) 각 명령의 주장이 서로 간섭 할 것이기 때문입니다. 이 두 가지 방법은 엄청나게 길고 불쾌한 것처럼 보이므로 더 효율적인 방법을 원합니다.
set -e
는 끔찍한 아이디어입니다. 참조 BashFAQ # (105)의 운동 이 소개 예상치 못한 가장자리의 경우 몇 가지 논의를, 및 / 또는에서 '(쉘 버전')를 구현 다른 쉘 사이의 호환성을 보여주는 비교 in-ulm.de/~mascheck/various/set -e .
set -euo pipefail
.