programing

스크립트 테스트를 위한 PowerShell의 에코 기능

goodsources 2023. 5. 6. 14:56
반응형

스크립트 테스트를 위한 PowerShell의 에코 기능

PowerShell 스크립트에서 플래그를 설정하고 스크립트 전체에서 데이터가 일치하는 것을 확인하여 변수와 값을 출력하고 싶습니다.

어떻게 해야 하나요?

예를 들어 다음 PHP 코드에 해당하는 PowerShell은 무엇입니까?

echo "filesizecounter: " . $filesizecounter 

여러 가지 방법이 있습니다.

function/cmdlet 출력에는 포함되지 않고 콘솔에 직접 Write-Host기록합니다.전경 및 배경 색상을 설정할 수 있습니다.

계속 또는 중지로 설정된 경우 콘솔에 직접 Write-Debug기록합니다.

계속 또는 중지로 설정된 경우 콘솔에 직접 Write-Verbose기록합니다.

후자는 추가적인 선택적 정보를 위한 것입니다.Write-Debug디버깅을 위해(이 경우에는 적합할 것으로 보입니다).

추가:PSH2(최소한)에서 cmdlet 바인딩을 사용하는 스크립트는 자동으로 다음을 가져옵니다.-Verbose그리고.-Debug스위치 매개 변수, 로컬에서 활성화Write-Verbose그리고.Write-Debug컴파일된 cmdlet 및 공급자가 수행하는 것처럼 (즉, 기본 설정 변수를 재정의함).

Powershell에 별칭 매핑이 있습니다.echo로.Write-Output다음을 사용할 수 있습니다.

echo "filesizecounter : $filesizecounter"

PowerShell이 인터폴을 합니다. 그렇죠?

PHP에서

echo "filesizecounter: " . $filesizecounter 

다음과 같이 쓸 수도 있습니다.

echo "filesizecounter: $filesizecounter" 

PowerShell에서는 다음과 같은 기능이 필요에 적합합니다.

Write-Host "filesizecounter: $filesizecounter"
Write-Host "filesizecounter : " $filesizecounter 

파워셸에서 반향을 일으키는 가장 쉬운 방법은 문자열 개체를 만들고 파이프라인에서 출력하도록 하는 것입니다.

$filesizecounter = 8096
"filesizecounter : $filesizecounter"

물론 쓰기* 방법을 사용하지 않을 때는 유연성을 포기해야 합니다.

echo는 Write-Output의 별칭이지만 Write-Host와 동일하게 보입니다.

그것은 아닙니다. PowerShell에서 에코와 쓰기 호스트의 차이점은 호스트의 차이점이 무엇입니까?

echo는 성공 출력 스트림에 쓰는 Write-Output의 별칭입니다.이렇게 하면 출력을 파이프라인을 통해 처리하거나 파일로 리디렉션할 수 있습니다.쓰기-호스트가 콘솔에 직접 쓰기 때문에 출력을 더 이상 리디렉션/처리할 수 없습니다.

쓰기 호스트가 정상적으로 작동합니다.

$Filesize = (Get-Item $filepath).length;
Write-Host "FileSize= $filesize";

Set-PSDebug가 구식과 유사하다는 점도 언급해야 합니다.echo on배치 명령:

Set-PSDebug -Trace 1

이 명령을 실행하면 실행 중인 스크립트의 모든 행이 표시됩니다.

그 때.Trace매개 변수의 값은 다음과 같습니다.1스크립트의 각 행은 실행되는 동안 추적됩니다.매개 변수의 값이 다음과 같을 때2변수 할당, 함수 호출 및 스크립트 호출도 추적됩니다.에 약에만.Step매개 변수가 지정되면 스크립트의 각 행이 실행되기 전에 메시지가 표시됩니다.

에는 PowerShell과 같은 인 명령에 .echo

Get-Alias echo

응답 받기:

CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Alias           echo -> Write-Output

에도 심어지도 Get-Alias 명있습다니별이라는 별칭이 있습니다.gal -> Get-Alias당신은 쓸 수 있습니다.gal echo에 대한 echo.

gal echo

기타 별칭은 다음과 같습니다. https://learn.microsoft.com/en-us/powershell/scripting/learn/using-familiar-command-names?view=powershell-6

cat dir mount rm cd echo move rmdir chdir erase popd sleep clear h ps sort cls history pushd tee copy kill pwd type del lp r write diff ls ren

그렇게 하는 것이 현명한 것인지는 모르겠지만, 당신은 그냥 글을 쓸 수 있습니다.

"filesizecounter: " + $filesizecounter

출력해야 합니다.

파일 크기 카운터: 값

ㅠㅠGet-Content .\yourScript.PS1스크립트의 내용을 볼 수 있습니다.

또한 스크립트 코드에 다음 행을 삽입할 수 있습니다.

get-content .\scriptname.PS1
script code
script code

....

언급URL : https://stackoverflow.com/questions/707646/echo-equivalent-in-powershell-for-script-testing

반응형