8.4. 在清单文件中声明变量的规则
在使用 ini 格式声明 Ansible 清单文件中的变量时,请注意以下与变量类型和值相关的规则。
字符串变量的值在引号中声明。例如:
pg_database='awx'
pg_username='awx'
pg_password='<password>'
在 :vars 部分中 声明时,ini 值将解释为字符串。例如,var=FALSE 创建一个等于 FALSE 的字符串。与主机行不同,:vars 部分每行只接受一个条目,因此 = 后的所有内容都必须是条目的值。主机行接受每行多个 key=value 参数。因此,它们需要使用一种方式来指出空格是值的一部分而不是分隔符。包含空格的值可以加上引号(单引号或双引号)。如需更多信息,请参阅 Python shlex 解析规则。
如果 ini 清单中设置的变量值必须是特定类型的值(如字符串或布尔值),则始终在您的任务中使用过滤器指定类型。在消耗变量时,请勿依赖 ini 清单中设置的类型。
考虑将 YAML 格式用于清单源,以避免在变量的实际类型上产生混淆。YAML 清单插件会一致且正确处理变量值。
如果 Ansible 清单文件中的参数值包含特殊字符,如 #、{ 或 },则必须双重转义(用单引号和双引号包括该值)。
例如,要将 mypasswordwith#hashsigns 用作变量 pg_password 的值,在 Ansible 主机清单文件中请将其声明为 pg_password='"mypasswordwith#hashsigns"'。
免责声明 :这些信息中包含的指向外部网站的链接仅用于方便用户。红帽没有审阅链接的内容,并不对其内容负责。包含任何指向外部网站的链接并不表示红帽认可该网站或其实体、产品或服务。您同意红帽对因您使用(或依赖)外部网站或内容而导致的任何损失或费用不承担任何责任。