无法让我的菜单工作。我想做一个菜单课,但我坚持使用v2。每次我输入" 1"在"主菜单",它将简单地重新呈现主菜单,而不是使用新的$ menuType重新输入功能。
at_c<N>
当您输入&#34; 1&#34;时的预期结果在主菜单中,您将看到&#34; addScanner&#34;菜单。这对我来说似乎是一个范围问题,但我似乎无法弄清楚如何纠正它?
答案 0 :(得分:1)
您正在使用=
来比较参数,您需要使用-eq
。
您还有一个拼写错误,错过了n
中的addScanner
。
这是一个精简的例子:
function presentMenu
{
param ([string]$menuType)
if($menuType -eq "Main")
{
Write-Host "MAIN MENU: 1.) Add Scanner 2.) Remove Scanner 3.) Lookup Scanner Config 4.) Exit"
$command = Read-Host
if ($command -eq 1)
{
presentMenu addScanner
}
}
elseif($menuType -eq "addScanner")
{
Write-Host "ADD SCANNER: 1.) From File 2.) From Input 3.) Back 4.) Exit"
$command = Read-Host
if ($command -eq 1)
{
Write-Host "Scanner added"
}
}
}
presentMenu Main