Поделиться через


Использование псевдонимов

Псевдоним — это альтернативное имя или сокращенное имя командлета или элемента команды, например функции, скрипта, файла или исполняемого файла. Команду можно выполнять с помощью псевдонима вместо имени исполняемого файла.

Управление псевдонимами команд

PowerShell предоставляет командлеты для управления псевдонимами команд. В следующей команде показаны командлеты, управляющие псевдонимами.

Get-Command -Noun Alias
CommandType Name         Version Source
----------- ----         ------- ------
Cmdlet      Export-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Get-Alias    7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Import-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      New-Alias    7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Remove-Alias 7.0.0.0 Microsoft.PowerShell.Utility
Cmdlet      Set-Alias    7.0.0.0 Microsoft.PowerShell.Utility

Подробнее см. в статье about_Aliases.

Используйте командлет Get-Alias, чтобы получить список псевдонимов, доступных в вашей среде. Чтобы получить список псевдонимов для одного командлета, используйте параметр Definition и укажите имя исполняемого файла.

Get-Alias -Definition Get-ChildItem
CommandType     Name
-----------     ----
Alias           dir -> Get-ChildItem
Alias           gci -> Get-ChildItem
Alias           ls -> Get-ChildItem

Чтобы получить определение одного псевдонима, используйте параметр Name.

Get-Alias -Name gci
CommandType     Name
-----------     ----
Alias           gci -> Get-ChildItem

Чтобы создать псевдоним, используйте Set-Alias команду. Псевдонимы можно создавать для командлетов, функций, скриптов и собственных исполняемых файлов.

Set-Alias -Name np -Value Notepad.exe
Set-Alias -Name cmpo  -Value Compare-Object

Псевдонимы совместимости в Windows

PowerShell имеет несколько псевдонимов, которые позволяют UNIX и cmd.exe пользователям использовать знакомые команды в Windows. В следующей таблице приведены общие команды, связанный командлет PowerShell и псевдоним PowerShell.

Командная оболочка Windows Команда UNIX Командлет PowerShell Псевдоним PowerShell
cd, chdir cd Set-Location sl, , cdchdir
cls clear Clear-Host cls clear
copy cp Copy-Item cpi, , cpcopy
del, , eraserdrmdir rm Remove-Item ri, , delrderaserm,rmdir
dir ls Get-ChildItem gci, , dirls
echo echo Write-Output write echo
md mkdir New-Item ni
move mv Move-Item mi, , movemi
popd popd Pop-Location popd
pwd Get-Location gl, pwd
pushd pushd Push-Location pushd
ren mv Rename-Item rni, ren
type cat Get-Content gc, , cattype

Примечание.

Псевдонимы в этой таблице характерны именно для Windows. Некоторые псевдонимы могут быть недоступны на других платформах. Это позволяет выполнять собственную команду в сеансе PowerShell. Например, ls не определяется как псевдоним PowerShell в macOS или Linux, поэтому вместо него выполняется собственная команда Get-ChildItem.

Создание альтернативных имен для команд с параметрами

Псевдоним можно назначить командлету, скрипту, функции или исполняемому файлу. В отличие от некоторых оболочек Unix нельзя назначить псевдоним команде с параметрами. Например, можно назначить псевдоним командлету Get-Eventlog, но нельзя назначить псевдоним команде Get-Eventlog -LogName System. Необходимо создать функцию, содержащую команду с параметрами.

Подробнее см. в статье about_Aliases.

Псевдонимы параметров и сокращенные имена

В PowerShell можно также создавать сокращенные имена для параметров. Псевдонимы параметров определяются с помощью атрибута Alias при объявлении параметра. Их нельзя определять с помощью командлетов *-Alias.

Дополнительные сведения см. в документации по атрибутам псевдонимов.

В дополнение к псевдонимам параметров PowerShell позволяет указывать имя параметра с использованием минимального количества символов, необходимых для уникальной идентификации параметра. Например, командлет Get-ChildItem имеет параметры Recurse и ReadOnly. Для уникальной идентификации параметра Recurse необходимо указать только -rec. При указании вместе с псевдонимом команды Get-ChildItem -Recurse можно сократить до dir -rec.

Не используйте псевдонимы в скриптах

Псевдонимы — это удобная функция для интерактивного использования в оболочке. В скриптах всегда следует использовать полные имена команд и параметров.

  • Псевдонимы можно удалять или переопределять в скрипте профиля.
  • Любой определяемый псевдоним может быть недоступен пользователю скриптов.
  • Псевдонимы затрудняют чтение и обслуживание кода.