2017-08-31 92 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; 
} 
相關問題