मुझे पर्यावरण चर सेट करने के लिए एक उत्तरदायी प्लेबुक में एकल और डबल कोट्स से ठीक से बचने की आवश्यकता है। इस में से कोई भी काम करता है:एक ही स्ट्रिंग के भीतर YAML में डबल और सिंगल कोट्स से कैसे बचें
- name: Set environment variable
command: >
export EXTRA_CONFIG=“'”{"client": {"subscriptions": ["DIND-Worker"], "cluster": "internal"}}“'”
- name: Set environment variable
command: >
export EXTRA_CONFIG=''{"client": {"subscriptions": ["DIND-Worker"], "cluster": "internal"}}''
- name: Set environment variable
command: >
export EXTRA_CONFIG=''{\"client\": {\"subscriptions\": [\"DIND-Worker\"], \"cluster\": \"internal\"}}''
इस देखा:
http://yaml.org/spec/current.html#id2532720
https://github.com/dotmaster/toYaml/issues/1
त्रुटि संदेश मैं मिलता है:
fatal: [ip.address]: FAILED! => {"changed": false, "cmd": "export 'EXTRA_CONFIG={\"client\":' '{\"subscriptions\":' '[\"DIND-Worker\"],' '\"cluster\":' '\"internal\"}}'", "failed": true, "msg": "[Errno 2] No such file or directory", "rc": 2}
क्या आप 'आदेश' मॉड्यूल के बजाय 'shell' का उपयोग करने का प्रयास कर सकते हैं? फिर आप आसानी से '\" 'से बच सकते हैं। अगर आपको केवल प्रति कार्य आधार पर env vars की आवश्यकता है तो आप 'shell' की 'पर्यावरण' सुविधा का उपयोग करने पर विचार कर सकते हैं जैसा कि यहां बताया गया है [http://stackoverflow.com/प्रश्न/31775099/कैसे-टू-सेट-पर्यावरणीय-चर-उपयोग-उत्तरदायी) – fishi