Ich versuche, die zuvor registrierte mosh_version
Variable mit dem Ansible- debug msg
Befehl wie folgt zu drucken :
- name: Print mosh version
debug: msg="Mosh Version: {{ mosh_version.stdout }}"
Es funktioniert nicht und gibt den folgenden Fehler aus:
Note: The error may actually appear before this position: line 55, column 27
- name: Print mosh version
debug: msg="Mosh Version: {{ mosh_version.stdout }}"
^
We could be wrong, but this one looks like it might be an issue with
missing quotes. Always quote template expression brackets when they
start a value. For instance:
with_items:
- {{ foo }}
Should be written as:
with_items:
- "{{ foo }}"
Ich habe es versucht
- name: Print mosh version
debug: msg=Mosh Version: "{{ mosh_version.stdout }}"
aber dies wird nur "Mosh" drucken.
Was ist der beste Weg, um dies zum Laufen zu bringen?
deployment
ansible
Zulakis
quelle
quelle
TASK: [ Print mosh version] ************************************** ok: [127.0.0.1] => { "msg": "Mosh" }
ok: [127.0.0.1] => { "var": { "mosh_version.stdout_lines": [ "mosh 1.2.4a [build mosh-1.2.4-57-g9eeb2fb]" ] } }
das funktioniert, ich würde aber die benutzerdefinierte Nachricht wirklich bevorzugenEinfachste Antwort
quelle
Entfernen Sie einfach den Doppelpunkt
quelle
when
sodass das Entfernen des Doppelpunkts der einfachste Weg ist, dies zu lösen. also habe ich upvote;)Ich benutze dies, beachte die Position von doppelten Anführungszeichen (") und einfachen Anführungszeichen (')
quelle
Immer wenn ich Probleme mit Sonderzeichen in Ansible Strings / Cmds habe, mache ich Folgendes:
So wird Ihr Standard-Doppelpunkt
{{':'}}
Und Ihre Aufgabe wird:
Auch dies funktioniert für die meisten Sonderzeichen, auch für Zeichenfolgen. Folgendes berücksichtigen:
Um dies in Ansible auszuführen, wenden Sie einfach dieselbe Logik an. Die folgende Task wird wie erwartet ausgeführt:
quelle