我有这个powershell命令,用于打开kitty / PuTTY会话。 格式是
.\my_sshCommand three
在这种情况下应该把我带到server.three,但不管我输入什么命令行参数都需要我到server.TWO。我们的想法是,如果命令行中没有参数,那么server.TWO将是默认值。我真的不知道如何在powershell中创建一个循环,所以我只是硬编码命令。我不知道为什么命令总是满足else子句,无论我在脚本中放入什么命令行参数。
param(
[array] $ComputerName
)
ForEach ($Computer in $ComputerName) {
IF($Computer -match 'one') {
$Computer="server.one"
Write-Output "c:\Working\Kitty.exe -load `"capser profile`" -ssh capser@$Computer -pw pizza"
$Command="c:\Working\Kitty.exe -load `"capser profile`" -ssh capser@$Computer -pw pizza"
}
IF($Computer -match 'two') {
$Computer="server.TWO"
Write-Output "c:\Working\Kitty.exe -load `"capser profile`" -ssh capser@$Computer -pw pizza"
$Command="c:\Working\Kitty.exe -load `"capser profile`" -ssh capser@$Computer -pw pizza"
}
IF($Computer -match 'three') {
$Computer="server.three"
Write-Output "c:\Working\Kitty.exe -load `"capser profile`" -ssh capser@$Computer -pw pizza"
$Command="c:\Working\Kitty.exe -load `"capser profile`" -ssh capser@$Computer -pw pizza"
}
IF($Computer -match 'four') {
$Computer="server.four"
Write-Output "c:\Working\Kitty.exe -load `"capser profile`" -ssh capser@$Computer -pw pizza"
$Command="c:\Working\Kitty.exe -load `"capser profile`" -ssh capser@$Computer -pw pizza"
}
ELSE {
Write-Output "c:\Working\Kitty.exe -load `"capser profile`" -ssh capser@server.TWO -pw pizza"
$Command="c:\Working\Kitty.exe -load `"capser profile`" -ssh capser@server.TWO -pw pizza"
}
}
Invoke-Expression $Command
答案 0 :(得分:0)
最后一次比较中的其他事情正在绊倒你。
由于三个不匹配'四',它正在击中其他人,并将你发送给.two。
以下是使用开关的解决方案:
<form action="php_dbtest.php" method="POST">
Search: <input type="text" name="FNAME" /><br />
<input type="submit" name="find" value="Search" id="add" />
</form>