powershell - 将空字符串作为变量值从ansible playbook传递到powershell?
问题描述
我想将一个空字符串作为变量值从 ansible-playbook 传递到 PowerShell 文件。
Ansible 代码:
vars:
name: {{file_name}}
tasks:
- name: run ps1
win_shell: "script.ps1 -database_name {{ name }}"
no_log: false
Powershell code
param(
[Parameter(Mandatory = $true)][AllowEmptyString()][string]$database_name
)
因此,如果其中没有名称,file_name
那么我想向 PowerShell 文件发送一个空字符串!我怎样才能做到这一点?
解决方案
可能您需要将结果包装| quote
在{{ name | default("") | quote }}
shell 引用变量中。没有它,jinja2 不知道您希望空字符串呈现为""
而不是空白;您也可以避开它,{{ name | default('""') }}
但这不太可能是您想要的,因为 if name
is "hello world"
then{{ name | default("") }}
将在您的命令中呈现,因为-database_name hello world
它几乎肯定会失败
推荐阅读
- python - 更新 scikit-learn:“SVC”对象没有属性“_probA”?
- javascript - 如何将背景图像的 url 导入 css 文件?
- microsoft-graph-api - 图形文件上传 API - 图像已损坏
- xcode - 用于归档 iOS 应用的位码版本无效
- r - R按列中的数字对数据进行分组
- bash - 在 shell 脚本中对文本文件进行排序
- string - 如何在 Golang 中为字符串添加单引号?
- entity-framework-core - 如何定义应该使用哪个外键导航属性?
- reactjs - 当显式定义深层链接时,ngrok 不适用于 react-router
- ruby-on-rails - has_many :through 在 Active Record 中