itsource

다른 파워셸 스크립트에서 변수 로드

mycopycode 2023. 9. 24. 12:49
반응형

다른 파워셸 스크립트에서 변수 로드

변수를 재사용할 수 있는 스크립트가 몇 개 있어서 변수를 자체 Variables.ps1 스크립트에서 분리하고 싶습니다.

$var1 = "1"
$var2 = "2"

다음과 같이 변수를 로드한 다음 Main.ps1 스크립트로 출력하려고 합니다.

.\Variables.ps1
$var1
$var2

처음에 뛰면 돼요.\variables.ps1 하지만 Main.ps1만 실행하면 안 됩니다.저의 환경은 PowerShell ISE 입니다.내가 뭘 잘못하고 있는 거지?

에서 선언된 변수는Variables.ps1"스크립트 스코프"에 있습니다.그것은 그것들을 선언하는 스크립트의 범위를 벗어나서 볼 수 없다는 것입니다.변수를 가져오는 한 가지 방법Variables.ps1의 범위내에서main.ps1"dot source"입니다.Variables.ps1. 이것은 사실상 실행됩니다.Variables.ps1의 범위 안에서main.ps1. 이렇게 하려면 스크립트를 호출하기 전에 마침표와 공백만 두십시오.

. .\Variables.ps1
$var1
$var2
# var.ps1
$Global:var1 = "1"
$Global:var2 = "2"

이거 됩니다."dot sourcing"보다 더 나은지 나쁜지는 아마도 특정 요구사항에 따라 다를 것입니다.

PS > .\var.ps1
PS > $var1
1
PS > $var2
2
PS >

정확성을 확인하기 위해... 이걸 시도해 보세요...main.ps1

echo "Test"
. .\Variables.ps1
echo $var1
echo $var2

언급URL : https://stackoverflow.com/questions/1864128/load-variables-from-another-powershell-script

반응형