我在遠程系統上獲取命令的輸出並將其存儲在變量中。然後用它來填充放置在系統上的文件模板。將Ansible變量從Unicode轉換爲ASCII
- name: Retrieve Initiator Name
command: /usr/sbin/iscsi-iname
register: iscsiname
- name: Setup InitiatorName File
template: src=initiatorname.iscsi.template dest=/etc/iscsi/initiatorname.iscsi
的initiatorname.iscsi.template文件包含:
InitiatorName={{ iscsiname.stdout_lines }}
然而,當我運行它,我得到以下文件:
InitiatorName=[u'iqn.2005-03.org.open-iscsi:2bb08ec8f94']
我想要什麼:
InitiatorName=iqn.2005-03.org.open-iscsi:2bb08ec8f94
我在做什麼錯?
我知道我可以使用「echo」InitiatorName = $(/ usr/sbin/iscsi-iname)「> /etc/iscsi/initiatorname.iscsi」將此文件寫入該文件,但這看起來像一個不可思議的這樣做的方式。
在此先感謝。
方括號的意思是你所擁有的是一個名單。如果您只想要列表中的第一行,您可以嘗試'stdout_lines [0]'。 – bobince
謝謝,就是這樣。我應該知道這是python。 –
真棒謝謝@bobince – JaseC