
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:Home
e $HOME
. Onde $HOME
pode 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).
- Primeiro encontre o
profile.ps1
arquivo 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. UsareiC:\Users\<username>\Documents\WindowsPowerShell\profile.ps1
. - Adicione suas variáveis da seguinte maneira:
$docs = "C:\Users\<username>\Documents"
# ^^^ ^^^
# name value
- Reinicie o PowerShell
- Agora você pode usá-lo com a mesma funcionalidade do
$home
.
cd $docs