传递给函数的 Powershell 参数
Powershell parameter passing to function
我遇到了一个恼人的问题:我的脚本似乎没有向我定义的函数传递任何参数。
$server = 'http://127.0.0.1:8080'
Function Get-WorkingDirectory([string]$address)
{
#echo $address
$content = Get-Content -path C:\....\file.txt
$content -contains $address
} #end Get-WorkingDirectory function
if(Get-WorkingDirectory $server)
{
echo "works"
}
else
{
echo "error"
}
卡在了"works"。如果我尝试在函数中回显地址,它是空的。
我到底做错了什么?!我知道这是一个非常菜鸟的问题,但我尝试了我在网上找到的所有内容。
在此先感谢您的帮助!
Get-WorkingDirectory
的输出被 if
语句隐藏。
尝试在没有 if
的情况下使用它,您会发现参数已正确传递。例如,
$server = 'http://127.0.0.1:8080'
Function Get-WorkingDirectory([string]$address)
{
Write-Host $address
}
Get-WorkingDirectory $server
地址印得好
echo
是 Write-Output
的别名,但是当您在 if
语句中使用函数的输出时,不会显示任何内容。
出于测试目的,在此实例中使用 Write-Host
以显示正确传递的变量。
$server = 'http://127.0.0.1:8080'
Function Get-WorkingDirectory([string]$address)
{
write-host "$address using write host"
} #end Get-WorkingDirectory function
if (Get-WorkingDirectory $server) {
}
我遇到了一个恼人的问题:我的脚本似乎没有向我定义的函数传递任何参数。
$server = 'http://127.0.0.1:8080'
Function Get-WorkingDirectory([string]$address)
{
#echo $address
$content = Get-Content -path C:\....\file.txt
$content -contains $address
} #end Get-WorkingDirectory function
if(Get-WorkingDirectory $server)
{
echo "works"
}
else
{
echo "error"
}
卡在了"works"。如果我尝试在函数中回显地址,它是空的。 我到底做错了什么?!我知道这是一个非常菜鸟的问题,但我尝试了我在网上找到的所有内容。 在此先感谢您的帮助!
Get-WorkingDirectory
的输出被 if
语句隐藏。
尝试在没有 if
的情况下使用它,您会发现参数已正确传递。例如,
$server = 'http://127.0.0.1:8080'
Function Get-WorkingDirectory([string]$address)
{
Write-Host $address
}
Get-WorkingDirectory $server
地址印得好
echo
是 Write-Output
的别名,但是当您在 if
语句中使用函数的输出时,不会显示任何内容。
出于测试目的,在此实例中使用 Write-Host
以显示正确传递的变量。
$server = 'http://127.0.0.1:8080'
Function Get-WorkingDirectory([string]$address)
{
write-host "$address using write host"
} #end Get-WorkingDirectory function
if (Get-WorkingDirectory $server) {
}