Ansible-和#x27;unicode对象';没有属性';文件输入';
我正在使用Ansible 2.2.1.0,我正在处理一个由其他人制作的有错误的旧项目 我的代码中有以下变量:Ansible-和#x27;unicode对象';没有属性';文件输入';,unicode,nested,ansible,Unicode,Nested,Ansible,我正在使用Ansible 2.2.1.0,我正在处理一个由其他人制作的有错误的旧项目 我的代码中有以下变量: software_output: - { file_input: 'Download_me.zip', file_output: 'download.zip' } software_version:"0.5,0.6" 我在FTP上下载了这个shell模块指令: - name: "MySoftware | get package on FTP" shell: >
software_output:
- { file_input: 'Download_me.zip', file_output: 'download.zip' }
software_version:"0.5,0.6"
我在FTP上下载了这个shell模块指令:
- name: "MySoftware | get package on FTP"
shell: >
curl --ftp-ssl -k {{ ' --ssl-allow-beast ' if os == 'aix' else "" }} -# -f -u {{ ftp_user }}:{{ ftp_password }} -f "{{ ftp_url | replace('@@software_version@@',item[1]) }}{{ item[0].file_input }}"
-o {{ require_inst_dir }}/{{ item[0].file_output }} 2>/dev/null
with_nested:
- software_output
- "{{ software_version.split(',') }}"
when: software_version is defined
但它根本不起作用,我有以下错误:
'unicode object' has no attribute 'file_input'
看起来with_nested没有被使用,因为它必须被使用,我错过了什么吗?在:
with_nested:
- software_output
software\u output
是一个字符串software\u output
要参考变量值,请更改为:
with_nested:
- "{{ software_output }}"
很久以前,第一个语法是有效的,但那是很久以前的事了。哦,你说得对,Techraf!我怎么会错过呢?可能是因为我们的大部分项目总是基于非常旧的Ansible版本。非常感谢你!