我正在使用一个设置$Global:LastResult的脚本,我如何设置一个别名,比如说,last来访问这个变量
$Global:LastResult
last
ctzwtxfj1#
您不能为变量定义别名(从技术上讲,您可以,只要变量不是$null,但您的别名将在赋值时具有变量的值)。你可以做的是定义一个函数,返回$global:LastResult的值,然后为该函数定义一个别名:
$null
$global:LastResult
function Get-LastResult { $global:LastResult } New-Alias -Name last -Value Get-LastResult
但是,我看不到这种方法比直接使用变量$global:LastResult有什么优势。
o8x7eapl2#
正如TechNet对Set-Alias的描述:可以为cmdlet创建别名,但不能为具有参数和值的命令创建别名。例如,您可以为Set-Location创建别名,但不能为Set-Location C:\Windows\System32创建别名。要为命令创建别名,请创建包含该命令的函数,然后创建该函数的别名。所以你需要一个函数的别名来返回你的变量。
dohp0rv53#
要访问全局变量的值,您只需调用该变量。
PS c:> $Global:LastResult = 'foo' PS c:> $LastResult foo
如果要返回一个数组或多个答案,请构建一个自定义对象并将其作为function/cmdlet的结果返回。
$LastResult = MyCustomCmdlet($Input) $LastResult <whatever custom object>
在PowerShell中,别名是cmdlet或函数的简称。对于大量的示例,请尝试:
Get-Alias
或者只为一个,试试:
Get-Alias gci
xzlaal3s4#
您可以:
Function CD32 {Set-Location -Path C:\Windows\System32} Set-Alias -Name Go -Value CD32
为带参数的命令创建别名
4条答案
按热度按时间ctzwtxfj1#
您不能为变量定义别名(从技术上讲,您可以,只要变量不是
$null
,但您的别名将在赋值时具有变量的值)。你可以做的是定义一个函数,返回
$global:LastResult
的值,然后为该函数定义一个别名:但是,我看不到这种方法比直接使用变量
$global:LastResult
有什么优势。o8x7eapl2#
正如TechNet对Set-Alias的描述:
可以为cmdlet创建别名,但不能为具有参数和值的命令创建别名。例如,您可以为Set-Location创建别名,但不能为Set-Location C:\Windows\System32创建别名。要为命令创建别名,请创建包含该命令的函数,然后创建该函数的别名。
所以你需要一个函数的别名来返回你的变量。
dohp0rv53#
要访问全局变量的值,您只需调用该变量。
如果要返回一个数组或多个答案,请构建一个自定义对象并将其作为function/cmdlet的结果返回。
在PowerShell中,别名是cmdlet或函数的简称。对于大量的示例,请尝试:
或者只为一个,试试:
xzlaal3s4#
您可以:
为带参数的命令创建别名