我正在尝试将管道变量加载到powershell脚本中。下面的工作,但变量是硬编码的,不支持我的用例:
steps:
- powershell: |
echo "The following output: $env:VARIABLE1"
相反,我想动态地传递VARIABLE1。所以类似这样的东西(不起作用):
parameters:
- name: variableName
type: string
default: VARIABLE1
steps:
- powershell: |
echo "The following output: $env:${{ parameters.variableName }}"
我想到的一种方法是保存整个脚本,在执行之前对它运行查找和替换,并以这种方式设置变量。但在我看来,应该有更好的办法。
此问题的一些其他上下文:我遇到了一个问题,我的参数在编译时被解析,而我在这个模板中需要的变量在这种情况下还不可用。所以我想通过传递变量名,我可以在脚本执行时将其加载到脚本中,从而避免了我的问题。
1条答案
按热度按时间sr4lhrrt1#
想一想
$env:${{ parameters.variableName }}"
语句的作用。您正在对variableName
参数的 value 进行插值,然后尝试通过将其引用为$env:
来将其视为环境变量。这说不通啊您已经将值注入到脚本中。您可以在powershell
步骤中使用env
块将参数Map到环境变量。