Powershell:如何从foreach循环内部调用函数?
Powershell: how to call a function from inside of a foreach loop?
我正在测试是否可以根据 foreach
循环中的条件调用某个函数:
$BROKER = $args[0]
$MARKETS = $args[1], $args[2], $args[3], $args[4], $args[5], $args[6]
foreach ($market in $MARKETS) {
if ($market -like 'all') {
&AllMarkets
break
}
else {
&CertainMarkets
}
}
function AllMarkets {
"Checking all markets"
}
function CertainMarkets {
"Checking certain markets"
}
当我运行这样的脚本时:
.\script.ps1 broker all
我收到这个错误:
& : The term 'AllMarkets' is not recognized as the name of a cmdlet, function, script file, or operable program
如何从 foreach 循环内部调用这些函数?
function AllMarkets {
"Checking all markets"
}
function CertainMarkets {
"Checking certain markets"
}
$BROKER = $args[0]
$MARKETS = $args[1], $args[2], $args[3], $args[4], $args[5], $args[6]
foreach ($market in $MARKETS) {
if ($market -like 'all') {
&AllMarkets
break
}
else {
&CertainMarkets
}
}
函数应该在循环之前定义。否则,功能还不可见。
我正在测试是否可以根据 foreach
循环中的条件调用某个函数:
$BROKER = $args[0]
$MARKETS = $args[1], $args[2], $args[3], $args[4], $args[5], $args[6]
foreach ($market in $MARKETS) {
if ($market -like 'all') {
&AllMarkets
break
}
else {
&CertainMarkets
}
}
function AllMarkets {
"Checking all markets"
}
function CertainMarkets {
"Checking certain markets"
}
当我运行这样的脚本时:
.\script.ps1 broker all
我收到这个错误:
& : The term 'AllMarkets' is not recognized as the name of a cmdlet, function, script file, or operable program
如何从 foreach 循环内部调用这些函数?
function AllMarkets {
"Checking all markets"
}
function CertainMarkets {
"Checking certain markets"
}
$BROKER = $args[0]
$MARKETS = $args[1], $args[2], $args[3], $args[4], $args[5], $args[6]
foreach ($market in $MARKETS) {
if ($market -like 'all') {
&AllMarkets
break
}
else {
&CertainMarkets
}
}
函数应该在循环之前定义。否则,功能还不可见。