programing

PowerShell: 문자열과 일치하지 않는 경우 오류 종료 코드 반환

cafebook 2023. 8. 11. 22:36
반응형

PowerShell: 문자열과 일치하지 않는 경우 오류 종료 코드 반환

나는 그것을 발견했습니다.

$(Invoke-Expression hostname) -eq 'mycomputername'

일치하는지 여부와 상관없이 종료 코드는 0이어야 합니다. 이 동작은 Linux와 다릅니다. 즉, 일치하지 않는 경우 오류 코드 1 종료

문자열과 일치하지 않을 경우 오류 종료 코드를 반환할 수 있는 짧은 명령이 PowerShell에 있습니까?

스크립트에서 다음을 사용하여 종료 코드를 변경할 수 있습니다.exit키워드

정상 종료 시 종료 코드는 0으로 설정됩니다.

미수습자THROW종료 코드를 1로 설정합니다.

EXIT문은 프로세스를 중지하고 종료 코드를 지정된 대로 설정합니다.

당신의 경우에는 이런 일을 할 것입니다.

if ( $(hostname) -eq 'mycomputername')
{
  exit 0
}
else
{
  exit 1
}

당신은 이런 것을 찾고 있습니까?

C:\>powershell -command "& { if($(Invoke-Expression hostname) -eq 'wrongname'){ exit 0 } else { exit 1 }  } "
C:\>echo %errorlevel%
1

C:\>powershell -command "& { if($(Invoke-Expression hostname) -eq 'rightname'){ exit 0 } else { exit 1 }  } "
C:\>echo %errorlevel%
0

더 많은 호박을 원한다면,

powershell -command "& { if($(Invoke-Expression hostname) -ne 'wrongname'){ exit 1 } }"

사소한 업데이트를 통해 다음과 같은 작업을 간소화할 수 있습니다.

powershell -command "if($(Invoke-Expression hostname) -ne 'wrongname'){ exit 1 }"
echo Error=%ERRORLEVEL%

언급URL : https://stackoverflow.com/questions/21901377/powershell-return-error-exit-code-if-not-match-a-string

반응형