我面临着一个恼人的问题:我的脚本似乎没有将任何参数传递给我定义的函数。
$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"
}
它停留在“工作”上。如果我尝试在函数中回显地址,则为空。 我到底做错了什么?!我知道这是一个非常愚蠢的问题,但我尝试了我在网上发现的一切。 在此先感谢您的帮助!
答案 0 :(得分:1)
Get-WorkingDirectory
的输出被if
语句遮蔽。
尝试在没有if
的情况下使用它,您将看到该参数已正确传递。例如,
$server = 'http://127.0.0.1:8080'
Function Get-WorkingDirectory([string]$address)
{
Write-Host $address
}
Get-WorkingDirectory $server
地址打印好
答案 1 :(得分:1)
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) {
}