Вход
Быстрая регистрация
Если вы у нас впервые: О проекте FAQ
0

Как можно использовать алиасы (alias) в PowerShell Windows 10?

Aristotel [5.2K] 2 недели назад

Я по долгу службы часто пользуюсь консолью Линукс. Но так же по долгу службы недавно возникла необходимость воспользоваться консолью Windows PH. Очень неудобно обходиться без привычных и милых сердцу алиасов для часто употребляемых команд. Например для подключения по ssh к серверам, которые я обслуживаю. В Linux я бы ввел к примеру:

echo alias name_server='ssh -i [путь к ключу] name_user@ip_server -p [номер порта]' >> ~/.bashrc

И потом бы пользовался командой "name_server" для подключения к серверу.

Как такое сделать в Windows PowerShell?

2

Ответ нашел сам.

В PowerShell есть командлет Set-Alias. Используется так:

Set-Alias notepad "C:\Program Files\Notepad++\note­pad++.exe"

Эта команда приведет к тому, что вместо стандартного блокнота из консоли PS будет запускаться Notepad++.

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

$profile | Format-List -Force

У меня вывод получился такой.

PS C:\WINDOWS\system32> $profile | Format-List -Force

AllUsersAllHosts : C:\Windows\System32­WindowsPowerShell\v1­.0\profile.ps1

AllUsersCurrentHost : C:\Windows\System32­WindowsPowerShell\v1­.0\Microsoft.PowerSh­ell_profile.ps1

CurrentUserAllHosts : D:\users\Aristotel\D­ocuments\WindowsPowe­rShell\profile.ps1

CurrentUserCurrentHo­st : D:\users\Aristotel\D­ocuments\WindowsPowe­rShell\Microsoft.Pow­erShell_profile.ps1

Length : 79

Если файла по указанному пути нет, его нужно создать.

Если алиас должен содержать команду с аргументами, нужно создать функцию, а на ее основе алиас. Например мне пришлось так сделать для подключения по ssh к серверу:

function ssh_mi_server {ssh -i d:\keys\server_key aristotel@123.234.12­3.234 -p 988}

Set-Alias mi_server ssh_mi_server

Чтобы изменения в профиле применились, нужно перезапустить консоль. Все.

Знаете ответ?
Есть интересный вопрос? Задайте его нашему сообществу, у нас наверняка найдется ответ!
Делитесь опытом и знаниями, зарабатывайте награды и репутацию, заводите новых интересных друзей!
Задавайте интересные вопросы, давайте качественные ответы и зарабатывайте деньги. Подробнее..
регистрация