Загрузка различных профилей PowerShell при запуске? [Powershell 7] - PullRequest
0 голосов
/ 22 апреля 2020

Есть ли способ указать, какой профиль PowerShell загружать при инициализации PowerShell?

Например, я хотел бы иметь возможность загружать профиль Python Conda при работе в Python или при работе с кроссплатформенными сценариями загружайте профиль с псевдонимами команд bash.

Примечание: я на той же машине, на том же пользователе. Таким образом, профили машины / пользователя c не будут работать в моем случае.

1 Ответ

1 голос
/ 22 апреля 2020

Поскольку профили PowerShell - это просто сценарии PowerShell, загружаемые при запуске терминала PowerShell, их можно загрузить несколькими способами. Предполагая, что у вас есть два файла профиля:

  • conda_profile.ps1
  • bash_profile.ps1

Вызов сценариев профиля напрямую

Вы можете просто выполнить их после открытия окна PowerShell, например:

.\conda_profile.ps1

Вызов сценариев профиля по псевдонимам

Если имена или пути слишком длинные или слишком сложные, вы можете создать для них псевдонимы, например:

# Put the following two lines into the file stored in $PROFILE. You probably have to create it.
Set-Alias -Name condap -Value "C:\path\to\conda_profile.ps1"
Set-Alias -Name bashp -Value "C:\path\to\bash_profile.ps1"

После этого вы можете загрузить профиль, набрав condap или bashp.

Вызов профиля с помощью ярлыка

Вы также можете создавать различные ярлыки для открытия PowerShell с определенным профилем:

  1. Скопировать ярлык из %APPDATA%\Microsoft\Windows\Start Menu\Programs\Windows PowerShell\Windows PowerShell.lnk
  2. Переименуйте его, например, в condap.
  3. Измените цель с %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe на %SystemRoot%\system32\WindowsPowerShell\v1.0\powershell.exe -ExecutionPolicy Bypass -NoExit -File "C:\path\to\conda_profile.ps1".

Сделайте это для других профилей соответственно.

Выбор профиля по запросу при запуске

Вы также можете написать профиль, который попросит вас выбрать Betw При запуске PowerShell можно использовать разные профили. Убедитесь, что у вас есть профиль для текущего хоста и текущего пользователя:

if (!(Test-Path -Path $PROFILE)) {
    New-Item -Type File -Path $PROFILE -Force
} 

После этого добавьте несколько строк в этот файл, чтобы запросить ввод, и выполните требуемый скрипт профиля на основе этого ввода. Это будет работать, но имейте в виду, что взаимодействие с пользователем внутри профиля, вероятно, будет плохим дизайном в большинстве случаев.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...