Como criar variáveis ​​personalizadas para todo o sistema global, como $Home no Powershell e atribuir valor persistente a elas?

Como criar variáveis ​​personalizadas para todo o sistema global, como $Home no Powershell e atribuir valor persistente a elas?

Estou apenas começando a aprender Powershell e uma coisa já começou a me incomodar.

A discriminação indesejável e injustamente confusa entre $env:Homee $HOME. Onde $HOMEpode ser preenchido automaticamente apenas digitando $hom> Tab, mas para sua contrapartida precisamos digitar $env:Ho> Tab.

Tive a ideia de que $HOMEé algum tipo de variável global, que persiste mesmo após a reinicialização do sistema, em qualquer sessão do Powershell.

Portanto, a pergunta: como faço para criar essas variáveis ​​persistentes e globais e atribuir valores da saída de comando ou da saída da variável de ambiente ou do caminho direto do diretório/arquivo para ela?

Responder1

Você está correto, $homeé uma variável global no PowerShell. Elas são diferentes das variáveis ​​de ambiente. A boa notícia é que você pode criar o seu próprio.

Uma maneira de conseguir o que deseja é editar seu perfil Powershell (@Lee_Dailey mencionou isso em um comentário).

  1. Primeiro encontre o profile.ps1arquivo ao qual deseja aplicar isso.
    Existem alguns deles em locais diferentes e cada um corresponde a diferentes usuários/permissões. Você pode usaressepara escolher em qual você deseja aplicá-lo. Usarei C:\Users\<username>\Documents\WindowsPowerShell\profile.ps1.
  2. Adicione suas variáveis ​​da seguinte maneira:
$docs = "C:\Users\<username>\Documents"
# ^^^         ^^^
# name       value
  1. Reinicie o PowerShell
  2. Agora você pode usá-lo com a mesma funcionalidade do $home.
cd $docs 

informação relacionada