【问题标题】:What does script keyword mean in Powershell 5: Function script:Set-VariablesPowershell 5中的脚本关键字是什么意思:函数脚本:Set-Variables
【发布时间】:2022-10-24 16:52:24
【问题描述】:

我在Function script:Set-Variables{} 中遇到过这个“script”关键字

知道为什么要使用它吗?

Function script:Set-Variables {
$PerTraceArr = @()
$script:ASNOwnerArr = @()
$ASNOwnerObj = New-Object PSObject
$ASNOwnerObj | Add-Member NoteProperty "ASN"("AS0")
$ASNOwnerObj | Add-Member NoteProperty "ASN Owner"("EvilCorp")
$ASNOwnerArr += $ASNOwnerObj #Add some values so the array isn't empty when first checked.
$script:i = 0
$script:x = 0
$script:z = 0
$script:WHOIS = ".origin.asn.cymru.com"
$script:ASNWHOIS = ".asn.cymru.com"
} #End Set-Variables

【问题讨论】:

标签: powershell function


【解决方案1】:

套用docs on scopes,“脚本”范围将变量或函数的可见性限制为从同一脚本运行的代码(包括“子”范围)。它类似于其他 OOP 语言中受保护变量的概念。

在这里,它可能被用来阻止您使用脚本中其他地方使用的“内部”函数。当它用于变量时,它通常用于防止篡改您在其他地方定义的变量,或者防止您查看/篡改内部变量。

但是,请注意,当您对脚本进行点源时,使用“脚本”范围不会按预期工作,因为点源会将所有内容加载到您当前的范围中,因此脚本范围点源时您所处的范围。

【讨论】:

    猜你喜欢
    • 2013-11-06
    • 2018-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-25
    • 2012-04-17
    • 1970-01-01
    相关资源
    最近更新 更多