텍스트 파일에서 값을 읽고 숫자와 비교하고 싶습니다.

텍스트 파일에서 값을 읽고 숫자와 비교하고 싶습니다.

저는 윈도우 파워쉘을 사용하고 있습니다. 텍스트 파일에 저장된 숫자를 검색하고 쉘 스크립트를 사용하여 다른 숫자와 비교하고 싶습니다. 사용하면 $x=$(cat value.txt)"명령을 찾을 수 없습니다"라고 표시됩니다. 내가 사용할 때

cat vaue.txt
(
read num
)
if [ "$num" == '1' ]; then
echo "hello"
elif [ "$num" == '2' ] then
echo "world"
else
echo "hi" 
fi

출력에는 num 값에 관계없이 "hi"가 포함됩니다. else 부분은 num의 값에 관계없이 실행됩니다. 다른 방법이 있나요? 나는 또한 파일에서 값을 읽는 다른 모든 방법을 시도했습니다.

답변1

Powershell에는 기능적으로 동일한 일부 셸 명령에 대한 별칭이 내장되어 있습니다. 당신이 발견한 대로고양이명령은 완벽하게 작동합니다.

CommandType     Name                                               ModuleName
-----------     ----                                               ----------
Alias           cat -> Get-Content

그러나 Powershell과 셸 스크립트는 구문이 다릅니다. 위의 내용은 다음을 사용하여 작성해야 합니다.만약에대신 아래에 표시된 설명을 참조하세요.

cat value.txt | % {

    if ($_ -eq '1') { "hello" }
    elseif ($_ -eq '2') { 'world' }
    else { 'hi' }
}

관련 정보