我刚刚开始学习 Powershell,有一件事开始困扰我。
$env:Home
和之间令人不快且不公平的混淆区别$HOME
。$HOME
只需输入$hom
>即可自动完成Tab其中的内容,但对于其对应部分,我们需要输入$env:Ho
> Tab。
我认为这$HOME
是一种全局变量,在任何 Powershell 会话中,即使在系统重启后仍然有效。
所以问题是:如何创建这样的持久和全局变量并从命令输出或环境变量输出或目录/文件的直接路径为其分配值?
答案1
您说得对,$home
这是 powershell 中的一个全局变量。这些变量与环境变量不同。好消息是您可以创建自己的变量。
实现您想要的操作的一种方法是编辑您的 Powershell 配置文件(@Lee_Dailey 在评论中提到了这一点)。
- 首先找到
profile.ps1
要应用此操作的文件。
这些文件位于不同的位置,每个文件对应不同的用户/权限。您可以使用这选择要应用到哪一个。我将使用C:\Users\<username>\Documents\WindowsPowerShell\profile.ps1
。 - 添加变量如下:
$docs = "C:\Users\<username>\Documents"
# ^^^ ^^^
# name value
- 重启 powershell
- 您现在可以使用与 相同的功能
$home
。
cd $docs