PowerShell - & string与现有别名冲突

时间:2015-02-06 16:12:58

标签: powershell

代码:

function start() {
  # do something
}

&"start"

如何保持&首先找到Start-Process别名?有没有办法删除脚本生命周期的起始别名?更改功能名称不是一种选择。

3 个答案:

答案 0 :(得分:3)

您可以明确地告诉它您要调用该函数,而不是别名。

function start() {
  # do something
  Write-Output "It Worked"
}

&(gi function:\start)

任何参数都可以照常添加到通话结束时。

function start() {
    Param(
        [int] $toout
    )
  # do something
  Write-Output "It Worked: $($toout + 5): See!"
}

&(gi function:\start) 5

答案 1 :(得分:2)

把:

Remove-Item alias:\start -Force

在脚本顶部为运行删除它,或将其添加到系统profile.ps1以永久删除它(每次PowerShell启动时)

答案 2 :(得分:2)

这也有效,类似于第一个答案:

function start(){
    Write-Host "FOO"
}

&(get-command -CommandType Function -Name start)