성공 시에만 파이프

성공 시에만 파이프

Linux 명령줄에서 명령이 실패하지 않을 때 하나의 명령만 출력을 다른 명령으로 파이프하도록 하는 방법이 있습니까?

$ cmda | cmdb

cmda0이 아닌 상태 코드가 반환될 때 해당 출력이 로 리디렉션되지 않도록 하고 싶습니다 cmdb.

답변1

이를 수행하려면 출력을 변수에 저장해야 합니다. 예는 다음과 같습니다.

if output=$(cmda); then
  printf '%s' "$output" | cmdb
fi

관련 정보