PowerShell - 与现有别名的 &string 冲突
PowerShell - &string Collision with Existing Alias
代码:
function start() {
# do something
}
&"start"
如何避免 & 首先找到 Start-Process 别名?有没有办法在我的脚本的生命周期中删除启动别名?更改函数的名称不是一个选项。
放:
Remove-Item alias:\start -Force
在脚本顶部为 运行 删除它,或将其添加到系统 profile.ps1
以永久删除它(每次 powershell 启动时)
您可以明确告诉它您要调用该函数,而不是别名。
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
这也有效,类似于第一个答案:
function start(){
Write-Host "FOO"
}
&(get-command -CommandType Function -Name start)
代码:
function start() {
# do something
}
&"start"
如何避免 & 首先找到 Start-Process 别名?有没有办法在我的脚本的生命周期中删除启动别名?更改函数的名称不是一个选项。
放:
Remove-Item alias:\start -Force
在脚本顶部为 运行 删除它,或将其添加到系统 profile.ps1
以永久删除它(每次 powershell 启动时)
您可以明确告诉它您要调用该函数,而不是别名。
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
这也有效,类似于第一个答案:
function start(){
Write-Host "FOO"
}
&(get-command -CommandType Function -Name start)