이것은 어떤 목적을 달성합니까?

이것은 어떤 목적을 달성합니까?

이것의 요점은 무엇입니까?

abort() {
  { if [ "$#" -eq 0 ]; then cat -
    else echo "rbenv: $*"
    fi
  } >&2
  exit 1
}

원천

답변1

함수( )에 인수가 0개 제공되면 대신 "$#" -eq 0이전 파이프( cat -)에서 읽고 이 블록의 모든 출력을 srderr( >&2)로 리디렉션합니다.

이를 통해 그들은 다음과 같은 일을 할 수 있습니다 abort "shell integration not enabled....

  { rbenv---version
    rbenv-help
  } | abort

이를 수행하는 동안 오류가 발생하는 경우(예: 파이프가 출력을 제공하지 않고 매개변수가 없는 경우) 이러한 오류는 사용자에게도 표시됩니다.

관련 정보