首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当在另一个psake脚本中包含psake脚本时重写属性

当在另一个psake脚本中包含psake脚本时重写属性
EN

Stack Overflow用户
提问于 2012-10-14 15:23:34
回答 1查看 938关注 0票数 0

我是新手,我有一个问题:我有两个psake脚本:

(1):base_tasks.ps1:

代码语言:javascript
复制
properties{ 

$a = "hello"

$b = "hi"

}

task One{
  Write-Host $a
}

(2):install.ps1

代码语言:javascript
复制
Include .\base_tasks.ps1

properties{ 

$a = "Goodbye"

$b = "Adjeu"

}

task default -depends One

现在,是否可以重写文件1中的属性和变量?我希望使用文件1作为“基本任务”,并在install.ps1中使用这些任务并覆盖属性。还是我必须用另一种方式?我将调用install.ps1并使用$a和install.ps1中的$b。

  • DanceAlot
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-14 16:36:49

来源看,Properties只是一个函数:

代码语言:javascript
复制
function Properties {
    [CmdletBinding()]
    param(
        [Parameter(Position=0,Mandatory=1)][scriptblock]$properties
    )
    $psake.context.Peek().properties += $properties
}

因此,当您再次调用它时,它将再次添加属性。

然后将这些属性转换为如下所示的变量:

代码语言:javascript
复制
foreach ($key in $properties.keys) {
        if (test-path "variable:\$key") {
            set-item -path "variable:\$key" -value $properties.$key | out-null
        }
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12883585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档