坚持试图将函数输出存储在变量中:
function AD-prompt($Text)
{
do
{
$in = read-host -prompt "$Text"
}
while($in -eq "")
}
使用
调用该函数$type = AD-prompt "Sample Text"
不会在$ type中存储任何内容 - 只有当我删除整个do-while循环时它才有效。似乎函数输出是空的,因为读取主机输出存储在$ in变量中,但我不知道如何解决这个问题 - 我还没有找到另一种循环读取主机的方法。
答案 0 :(得分:4)
您需要通过输出功能返回$in
。您可以在循环后将它自己放在一行上来完成此操作:
function AD-prompt($Text)
{
do
{
$in = read-host -prompt "$Text"
}
while($in -eq "")
$in
}