полезный ответ boxdog расскажет вам, как правильно определять и экспортировать псевдонимы.
Что касается вашего использования атрибута [alias("HelloWorld")]
для создания команды псевдоним (чтобы позволить HelloWorld
вызывать команду (функцию) hello
):
Даже если работает , не задокументированои не следует полагаться на , не в последнюю очередь из-за возможной путаницы с псевдонимами параметра (см. ниже):
function hello() {
[alias("HelloWorld")] # Do NOT define a command alias for 'hello' this way.
param(
# ...
Для создания команды псевдонимы, используйте Set-Alias
или New-Alias
, как показано в ответе boxdog.
Цель атрибута [Alias()]
- создать параметр псевдонимы , т. Е. Чтобы разрешить данной команде параметры ссылаться под другим именем;с документы , выделение добавлено:
Объявляет альтернативное имя для параметра
Например, если вы хотелидля определения -FirstName
в качестве псевдонима для параметра -Name
в вашем примере:
function hello() {
param(
[alias('FirstName')] # alias() decorates *parameter* -Name ($Name)
[string] $Name
)
Write-Host "Hello $Name!"
}
Например, hello -FirstName Mary
и hello -Name Mary
будут эквивалентны (но обратите внимание, что это $Name
параметр переменная , которая связывается в ( случаях).