행에 반환된 값이 true인지 확인하는 방법은 무엇입니까?

행에 반환된 값이 true인지 확인하는 방법은 무엇입니까?

Bash에서 다음 명령을 실행합니다.

yarn config get workspaces-experimental

다음을 반환합니다.

true\n
\n

"true" 또는 "false" 다음에 두 개의 끝 줄이 나옵니다. 나는 이 프로세스를 가져와 표준 출력의 유효성을 검사하고 결과가 "true"가 아닌 경우 종료 코드를 반환하는 다른 프로세스로 파이프하고 싶습니다.

어떻게 해야 하나요? 세로 막대(|)를 사용하시겠습니까?

답변1

사용하는 경우 텍스트 리터럴이 일치하는 경우에만 bash종료 상태 코드 0(성공)이 생성됩니다 . true다른 경우에는 0이 아닌 값(실패)을 반환합니다.

[[ $(yarn config get workspaces-experimental) == true ]]

다음과 같은 조건문에서 직접 사용할 수 있습니다.

if [[ $(yarn config get workspaces-experimental) == true ]]
then
    echo "Relax, everything is fine"
fi

답변2

xargs파이프로 연결하여 사용할 수 있습니다 test.

yarn config get workspaces-experimental | xargs test true =

관련 정보