将空字符串作为变量值从ansible playbook传递到powershell?
我想将空字符串作为变量值从ansible playbook传递到PowerShell文件 Ansible代码:将空字符串作为变量值从ansible playbook传递到powershell?,powershell,ansible,ps1,Powershell,Ansible,Ps1,我想将空字符串作为变量值从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)][AllowEmpty
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
)
因此,如果
文件中没有名称\u name
那么我想向PowerShell文件发送一个空字符串!我该怎么做呢?您可能需要在{{name | default(“”| quote}}}
中将结果包装到shell quote变量中。如果没有这一点,jinja2不知道您希望将空字符串呈现为”
,而不是空白;您也可以使用{name | default(''''')}
来避开这一步,但这不太可能是您想要的,因为如果name
是“hello world”
那么{name | default(“”}
将在您的命令中呈现为-database\u name hello world
,这几乎肯定会失败您可能需要在{{name | default(“”| quote}}}
中将结果包装到shell quote变量中。如果没有这一点,jinja2不知道您希望将空字符串呈现为”
,而不是空白;您也可以使用{name | default(''''')}
来避开这一步,但这不太可能是您想要的,因为如果name
是“hello world”
那么{name | default(“”}
将在您的命令中呈现为-database\u name hello world
,这几乎肯定会失败请修复格式设置。至于你的问题,到目前为止,你尝试了哪些不适合你的步骤?嗨@mdaniel,谢谢。如果没有声明或未定义文件名,我想将空字符串作为变量(如name=“”)传递给PowerShell文件。我试过win_shell:“script.ps1-database_name{{{name}default(“”)}。但是它不起作用。请修复格式。至于你的问题,到目前为止你试过哪些步骤对你不起作用?Hi@mdaniel谢谢。我想传递一个空字符串作为变量(比如name=”“)如果没有声明文件名或未定义文件名,则返回PowerShell文件。但它不起作用