gpt4 book ai didi

function - Powershell 别名内部函数在外部不可用

转载 作者:行者123 更新时间:2023-12-02 23:30:12 25 4
gpt4 key购买 nike

我在文件 myfunc.ps1 中有一个 powershell 函数

function Set-Util ($utilPath ) {

if(Test-Path($utilPath) ){
$fullPath = Join-Path -Path $utilPath "util.exe"
set-alias MyUtil $fullPath
#echo "Path set to $fullPath"
}else {
throw (" Error: File not found! File path '$fullPath' does not exist.")
}
}

我用

从命令行点调用它

. .\myfunc.ps1

然后调用

Set-Util somedirectory

别名在函数中设置正确,但我无法在此处访问它

MyUtil

我是否应该导出别名,因为范围仅在方法中?我试着这样做Export-ModuleMember 但出现错误,指出 cmdlet 只能从模块中调用。

最佳答案

你不能那样做,因为在调用函数之前不会设置别名,并且当函数被调用时,别名的范围限定在函数范围内,所以当函数完成运行时 - 别名消失了。

如果您希望别名继续存在,请指定使用值为“global”的范围参数

关于function - Powershell 别名内部函数在外部不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13659472/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com