2017-08-31 52 views
1

我想定义一个命令在PowerShell控制台上设置自定义提示。 你可以用下面的脚本覆盖默认提示:是否可以在PowerShell中覆盖Prompt函数?

function Prompt { 
    "PS " + "[$(Get-Date)] " + $(Get-Location) + ">" 
} 

所以我想上面的脚本调用一个函数,例如:Set-CustomPrompt

我已经看到了StackOverflow上的一个解决方案,其中脚本是从外部ps1文件执行的,但我正在寻找一个解决方案,其中的定义位于同一个文件中。

回答

2

有你Set-CustomPrompt功能定义在global scopesee also)的Prompt功能:

function Set-CustomPrompt { 
    function global:Prompt { 
     "PS [$(Get-Date)] $(Get-Location)>" 
    } 
}
0

prompt函数需要是全局作用域。但它可以调用另一个函数。

因此,与抽象的一个全局变量保存函数名称的定义了:

function Set-CustomPrompt { 
    .... 
    $myCustomPropmtFunctionName = ... 
} 

function prompt { 
    &$myCustomPropmtFunctionName; 
} 
相关问题