看看这段代码是不是有点诡异:
PS C:\> function r { "This never runs" } PS C:\> r function r { "This never runs" } PS C:\>
我本来要执行函数r,但是函数没有执行,却把函数的定义代码返回了。
原因其实是我们定义的函数名和PowerShell内置的别名冲突了:
PS C:\> Get-Alias r CommandType Name Version Source ----------- ---- ------- ------ Alias r -> Invoke-History
所以对于PowerShell内置的别名需要熟悉,因为它们是PowerShell的亲儿子,比其他函数和命令更有优先权和话语权。 更好的做法是把自己的函数或者命令名称成动词+名词的标准格式。
原文链接:Beware of Aliases
本文链接: https://www.pstips.net/beware-of-aliases.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!