0
Problème avec la détection des guillemets et des supports dans le script bash L'exécution de cetteProblème avec la détection des guillemets et accolades dans le script sarrasins
a="{\'copa\':\'copa2\'}"
print "$a"
Le résultat est:
{'copa':'copa2'}
L'utilisation d'un dans une commande sh ajoute quotes arrount aws_instance_tag instruction et supprime les guillemets simples pour les valeurs de copa
sh "ansible-playbook playbooks/environment-provisioning.yml -e env=perf -e num_injectors_zone_a=2 -t performance_services -e aws_instance_tags=${a} "
Résultat
ansible-playbook playbooks/environment-provisioning.yml -e env=perf -e
num_injectors_zone_a=2 -t performance_services -e
'aws_instance_tags={copa:copa2}'
Cela ne devrait pas fonctionner comme votre allez passer la chaîne entre guillemets comme un argument/fichier sh. En supposant que vous utilisiez '-c' et que ce soit une faute de frappe, votre variable subit deux fois l'expansion du shell, une fois passée à sh, et une fois lors de l'exécution, supprimant les guillemets. – 123