【发布时间】:2016-06-27 06:12:53
【问题描述】:
我有一个看起来像这样的函数:
function plk(){
$cmd = $args -join ' '
plink user@myserver -i key.ppk $cmd
}
这个函数很好用,但是我希望添加一个新参数,使我能够更改服务器(但如果我不命名我的服务器,请将 myserver 保留为默认值)。所以我将代码更改为:
function plk($server = 'myserver'){
$cmd = $args -join ' '
plink user@$server -i key.ppk $cmd
}
但是,PowerShell 似乎认为我的第一个参数是我的 $server 变量。
意思是如果我使用我的函数:plk ls /folder,PowerShell 会认为ls 是$server。
我想解决这个问题,除非我这样做:plk -server 'server' ls /folder,PowerShell 会切换服务器,使用plk ls /folder 会使用我的默认值。
【问题讨论】:
标签: function powershell arguments