我想从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('""') }}
但这不太可能是你想要的,因为如果 name
是 "hello world"
然后 {{ name | default("") }}
在您的命令中会显示为 -database_name hello world
屡试不爽