Как создать пользовательские глобальные общесистемные переменные, такие как $Home в Powershell, и присвоить им постоянное значение?

Как создать пользовательские глобальные общесистемные переменные, такие как $Home в Powershell, и присвоить им постоянное значение?

Я только начинаю изучать Powershell, и одна вещь уже начала меня беспокоить.

Нежелательное и несправедливое запутывающее различие между $env:Homeи $HOME. Где $HOMEможно автоматически заполнить, просто набрав $hom> Tab, но для его аналога нам нужно набрать $env:Ho> Tab.

У меня возникла идея, что $HOMEэто некий тип глобальной переменной, которая сохраняется даже после перезагрузки системы в любом сеансе Powershell.

Итак, вопрос: как мне создать такие постоянные и глобальные переменные и присвоить им значения либо из вывода команды, либо из вывода переменной среды, либо из прямого пути к каталогу/файлу?

решение1

Вы правы, $homeэто глобальная переменная в powershell. Они отличаются от переменных окружения. Хорошие новости в том, что вы можете создать свою собственную.

Один из способов добиться желаемого — отредактировать свой профиль Powershell (@Lee_Dailey упомянул об этом в комментарии).

  1. Сначала найдите profile.ps1файл, к которому вы хотите применить это.
    Их несколько в разных местах, и каждый соответствует разным пользователям/разрешениям. Вы можете использоватьэтотчтобы выбрать, к какому из них вы хотите его применить. Я буду использовать C:\Users\<username>\Documents\WindowsPowerShell\profile.ps1.
  2. Добавьте переменные следующим образом:
$docs = "C:\Users\<username>\Documents"
# ^^^         ^^^
# name       value
  1. Перезапустить PowerShell
  2. Теперь вы можете использовать его с той же функциональностью, что и $home.
cd $docs 

Связанный контент