从脚本中设置Powershell提示符

从脚本中设置Powershell提示符,powershell,Powershell,我有一个初始化脚本,它设置了几个变量供以后使用。最后一行定义了一个“prompt”函数,我希望它能改变我的提示,作为初始化已经完成的指示。变量被设置,所以它不是作为子进程运行的,但是我的提示符顽固地停留在“PS”位置。怎么了 下面是脚本,其中包含我尝试过的函数的两个版本 $II_SYSTEM = "F:\Apps\Ingres92" $env:PATH = "$II_SYSTEM\ingres\bin;$II_SYSTEM\ingres\utility;$env:PATH" $env:LIB =

我有一个初始化脚本,它设置了几个变量供以后使用。最后一行定义了一个“prompt”函数,我希望它能改变我的提示,作为初始化已经完成的指示。变量被设置,所以它不是作为子进程运行的,但是我的提示符顽固地停留在“PS”位置。怎么了

下面是脚本,其中包含我尝试过的函数的两个版本

$II_SYSTEM = "F:\Apps\Ingres92"
$env:PATH = "$II_SYSTEM\ingres\bin;$II_SYSTEM\ingres\utility;$env:PATH"
$env:LIB = "$II_SYSTEM\ingres\lib;$env:LIB"
$INCLUDE = "$II_SYSTEM\ingres\files;$INCLUDE"

function prompt{"PS $PWD IX>"}
function prompt{write-output ("PS $PWD IX>") -nonewline}

谢谢。

您需要使用点源调用脚本文件:

. .\myscript.ps1
这使得在脚本级别创建的变量和函数可用于全局范围。 或者像这样更改脚本:

function global:prompt{"PS $PWD IX>"}
function global:prompt{write-output ("PS $PWD IX>") -nonewline}

并正常调用。

如果希望始终进行初始化,请在配置文件中执行。在那里更改提示肯定有效。请参阅获取有关_配置文件的帮助。如果您知道如何操作,那么就非常简单!当你知道怎么做的时候,就这么简单!谢谢