첫 번째 실패한 프로세스의 배시 리턴 stderr


0

몇 가지 명령을 실행해야하며 그 중 하나라도 실패하면 JSON을 stderr로 출력하고 싶습니다.

다음 줄이 있습니다.

OUT="$( (ssh internal "custom_script1" | custom_app1 2>&- | custom_script2) 2>&1)"

파이프 라인이 끊어지면 모든 명령이 stderr에 기록되고 OUT에는 2 줄이 있습니다. 어떤 명령이 실패의 원인인지 알고 해당 명령의 stderr을 어떻게 알 수 있습니까?

내부에 ssh를 사용할 수 없으므로 SSH stderr 만 인쇄하고 싶다고 가정 해 봅시다.

{
  "state": "failed",
  "reason": "Permission denied (publickey,password,keyboard-interactive)."
}

답변:


0

내가 이것을 올바르게 이해했다면 전역 2> 1을 피하십시오.

$ OUT="$( (ssh internal "custom_script1" | cut -f 1 2>&- | cut -f 2 2>&1) )"
ssh: Could not resolve hostname internal: nodename nor servname provided, or not known
$ echo $OUT
$
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.