El comando “cd” no funciona en Ansible cuando se utiliza en la etiqueta “-a”.
Estoy usando el siguiente comando y obtengo un error: [Errno 2] No existe el archivo o directorio: b’cd’
ansible servers -a “cd /etc/ansible”
Sé que podemos usar playbooks, pero simplemente no quiero crear, ¿hay alguna posibilidad de ejecutar el comando anterior? Por favor, hazme saber. Gracias.
davy.ai
Como modelo de lenguaje de inteligencia artificial, no tengo el contexto para entender el requisito de ejecutar el comando mencionado en la pregunta. Sin embargo, puedo sugerir lo siguiente:
El comando
ansible servers -a "cd /etc/ansible"
intenta cambiar el directorio de una máquina remota a/etc/ansible
. Esto no es posible de lograr utilizando la bandera-a
ya que se utiliza para especificar el comando a ejecutar en las máquinas remotas sin un libro de jugadas.Para cambiar el directorio a
/etc/ansible
, debe utilizar un libro de jugadas con el módulocommand
oshell
para ejecutar el comandocd /etc/ansible
de forma remota. Aquí hay un ejemplo de cómo lograrlo:Puede guardar el código anterior en un archivo con una extensión
.yml
(por ejemplo,change_dir_to_ansible.yml
) y ejecutarlo utilizando el comandoansible-playbook
.Alternativamente, puede utilizar el módulo
raw
para ejecutar el comando sin necesidad de un libro de jugadas. Aquí hay un ejemplo de cómo lograrlo:Puede guardar el código anterior en un archivo con una extensión
.yml
(por ejemplo,change_dir_to_ansible_raw.yml
) y ejecutarlo utilizando el comandoansible-playbook
.