Использование псевдонимов
Псевдоним — это альтернативное имя или сокращенное имя командлета или элемента команды, например функции, скрипта, файла или исполняемого файла. Команду можно выполнять с помощью псевдонима вместо имени исполняемого файла.
Управление псевдонимами команд
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 , , cd chdir |
cls |
clear |
Clear-Host |
cls clear |
copy |
cp |
Copy-Item |
cpi , , cp copy |
del , , erase rd rmdir |
rm |
Remove-Item |
ri , , del rd erase rm ,rmdir |
dir |
ls |
Get-ChildItem |
gci , , dir ls |
echo |
echo |
Write-Output |
write echo |
md |
mkdir |
New-Item |
ni |
move |
mv |
Move-Item |
mi , , move mi |
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 , , cat type |
Примечание.
Псевдонимы в этой таблице характерны именно для 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
.
Не используйте псевдонимы в скриптах
Псевдонимы — это удобная функция для интерактивного использования в оболочке. В скриптах всегда следует использовать полные имена команд и параметров.
- Псевдонимы можно удалять или переопределять в скрипте профиля.
- Любой определяемый псевдоним может быть недоступен пользователю скриптов.
- Псевдонимы затрудняют чтение и обслуживание кода.
PowerShell