$가 무엇입니까?파워셸에서?
의 의미는 무엇입니까?$?파워셸에서?
편집: TechNet은 '성공' 또는 '실패'가 무엇을 의미하는지 설명하지 않고 직설적으로 답변합니다.
$?
마지막 작업의 실행 상태를 포함합니다.마지막 작업이 성공하면 TRUE, 실패하면 FALSE를 포함합니다.
$?가 $LastExitCode가 0인지 단순히 테스트할 것으로 예상했지만 $?가 False이지만 $LastExitCode가 True인 카운터 예를 발견했습니다.
돌아옵니다true마지막 명령이 성공한 경우, 그렇지 않은 경우false.
그러나 여러 가지 주의 사항과 명백하지 않은 행동(예: "성공"이 정확히 무엇을 의미하는지)이 있습니다.저는 이 기사를 읽는 것이 더 나은 치료를 위해 강력하게 추천합니다.
예를 들어 Get-ChildItem을 호출합니다.
PS> Get-ChildItem
PS> $?
True
돌아올 것입니다TrueGet-ChildItem 호출이 성공함에 따라.
그러나 존재하지 않는 디렉터리에서 Get-ChildItem을 호출하면 오류가 반환됩니다.
PS> Get-ChildItem \Some\Directory\Which\Does\Not\Exist
Get-ChildItem : Cannot find path 'C:\Some\Directory\Which\Does\Not\Exist' because it does not exist.
PS> $?
False
돌아올 것입니다False이전 명령이 성공하지 못했기 때문입니다.
$?포함할 것$false마지막 명령으로 오류가 발생한 경우다음을 포함합니다.$true만약 그렇지 않다면요.PowerShell v1 시절에는 오류를 처리하는 일반적인 방법이었습니다.예를 들어 스크립트에서 파일이 있는지 확인하고 파일이 없으면 사용자 지정 메시지를 인쇄하려면 다음 작업을 수행할 수 있습니다.
Get-Item -Path john -ErrorAction silentlycontinue;
if( -not $?)
{
'could not find file.';
exit
}`
또한 다음을 사용하여 마지막 명령 종료 코드에 액세스할 수 있습니다.$LastExitCode매개 변수
# run some command
# ...
if ((! $?) -and $ErrorAction -eq "Stop") { exit $LastExitCode }
Windows Server 2019에서 표준 오류가 발생하면 $?가 false로 설정될 수 있습니다.이 예에서 도커 합성은 표준 오류를 통해 경고를 기록하므로 0으로 종료하더라도 $?는 실패를 나타냅니다.
중요!!!Jules Clements의 답변에 유의하십시오. $?는 $LastExitCode가 0을 반환하더라도 false를 반환할 수 있습니다.
심지어 $?를 요청해도 내용이 변경됩니다.
예: 일부 명령으로 인해 $?가 false입니다. write $? => write $? => write write $? >> write write write write write "false"가 두 번째로 "true"가 반환됩니다.
언급URL : https://stackoverflow.com/questions/10634115/what-is-in-powershell
'programing' 카테고리의 다른 글
| div 내에서 버튼의 중심을 잡는 방법은 무엇입니까? (0) | 2023.08.02 |
|---|---|
| Javascript 개체 형식 조작 (0) | 2023.08.02 |
| T-SQL: 테이블을 몇 분 동안 수동으로 잠급니다. (0) | 2023.08.02 |
| C의 형식 안전성 (0) | 2023.08.02 |
| PHP에서 HTTP에서 HTTPS로 전환할 때 세션 손실 (0) | 2023.07.28 |