Este grupo de redactores ha pasado mucho tiempo buscando para darle soluciones a tu pregunta, te ofrecemos la soluciones así que nuestro objetivo es servirte de mucha ayuda.
Nota
Este módulo es parte de ansible-base
e incluido en todas las instalaciones de Ansible. En la mayoría de los casos, puede utilizar el comando de nombre de módulo corto incluso sin especificar el collections:
palabra clave. A pesar de eso, le recomendamos que utilice el FQCN para facilitar la vinculación a la documentación del módulo y evitar conflictos con otras colecciones que puedan tener el mismo nombre de módulo.
- Sinopsis
- Parámetros
- Notas
- Ver también
- Ejemplos de
- Valores devueltos
Sinopsis
- los
command
El módulo toma el nombre del comando seguido de una lista de argumentos delimitados por espacios. - El comando dado se ejecutará en todos los nodos seleccionados.
- Los comandos no se procesarán a través del shell, por lo que variables como
$HOSTNAME
y operaciones como"*"
,"<"
,">"
,"|"
,";"
y"&"
no trabajará. Utilizar el ansible.builtin.shell módulo si necesita estas características. - Crear
command
tareas que son más fáciles de leer que las que usan argumentos delimitados por espacios, pasan parámetros usando elargs
palabra clave de tarea o usocmd
parámetro. - O un comando de forma libre o
cmd
El parámetro es obligatorio, consulte los ejemplos. - Para los destinos de Windows, use el ansible.windows.win_command módulo en su lugar.
Nota
Este módulo tiene un correspondiente complemento de acción.
Parámetros
Parámetro | Opciones / Valores predeterminados | Comentarios |
---|---|---|
argvlista / elementos =string agregado en 2.6 de ansible.builtin | Pasa el comando como una lista en lugar de un string.Usar argv para evitar citar valores que de otro modo se interpretarían incorrectamente (por ejemplo, "nombre de usuario"). string (forma libre) o la forma de lista (argv) se pueden proporcionar, no ambos. Se debe proporcionar uno u otro. |
|
chdirsendero agregado en 0.6 de ansible.builtin | Cambie a este directorio antes de ejecutar el comando. | |
cmdstring | El comando para ejecutar. | |
creasendero | Un nombre de archivo o patrón global (desde 2.0). Si ya existe un archivo coincidente, este paso no ser ejecutado. | |
forma librestring | El módulo de comando tiene forma libre string como un comando para ejecutar. No hay un parámetro real llamado 'forma libre'. | |
eliminasendero agregado en 0.8 de ansible.builtin | Un nombre de archivo o patrón global (desde 2.0). Si existe un archivo coincidente, este paso voluntad ser ejecutado. | |
stdinstring agregado en 2.4 de ansible.builtin | Establezca el stdin del comando directamente en el valor especificado. | |
stdin_add_newlinebooleano agregado en 2.8 de ansible.builtin |
|
Si se establece en yes , agregue una nueva línea a los datos stdin. |
strip_empty_endsbooleano agregado en 2.8 de ansible.builtin |
|
Elimine las líneas vacías del final de stdout / stderr como resultado. |
advertirbooleano agregado en 1.8 de ansible.builtin |
|
(en desuso) Habilitar o deshabilitar las advertencias de tareas. Esta función está en desuso y se eliminará en la versión 2.14. A partir de la versión 2.11, esta opción ahora está deshabilitada de forma predeterminada. |
Notas
Nota
- Si desea ejecutar un comando a través del shell (digamos que está usando
<
,>
,|
, etc.), lo que realmente desea ansible.builtin.shell módulo en su lugar. El análisis de los metacaracteres de shell puede llevar a la ejecución de comandos inesperados si las citas no se hacen correctamente, por lo que es más seguro usar elcommand
módulo cuando sea posible. creates
,removes
, ychdir
se puede especificar después del comando. Por ejemplo, si solo desea ejecutar un comando si un archivo determinado no existe, use esto.- El modo de verificación es compatible al pasar
creates
oremoves
. Si se ejecuta en modo de verificación y se especifica cualquiera de estos, el módulo verificará la existencia del archivo e informará el estado modificado correcto. Si no se proporcionan, se omitirá la tarea. - los
executable
El parámetro se elimina desde la versión 2.4. Si necesita este parámetro, utilice el ansible.builtin.shell módulo en su lugar. - Para los destinos de Windows, use el ansible.windows.win_command módulo en su lugar.
- Para reiniciar los sistemas, use el ansible.builtin.reboot o ansible.windows.win_reboot módulo.
Ver también
Ver también
- ansible.builtin.raw
-
La documentación oficial sobre el ansible.builtin.raw módulo.
- ansible.builtin.script
-
La documentación oficial sobre el ansible.builtin.script módulo.
- ansible.builtin.shell
-
La documentación oficial sobre el ansible.builtin.shell módulo.
- ansible.windows.win_command
-
La documentación oficial sobre el ansible.windows.win_command módulo.
Ejemplos de
-name: Return motd to registered var ansible.builtin.command: cat /etc/motd register: mymotd # free-form (string) arguments, all arguments on one line-name: Run command if /path/to/database does not exist (without 'args') ansible.builtin.command: /usr/bin/make_database.sh db_user db_name creates=/path/to/database # free-form (string) arguments, some arguments on separate lines with the 'args' keyword# 'args' is a task keyword, passed at the same level as the module-name: Run command if /path/to/database does not exist (with 'args' keyword) ansible.builtin.command: /usr/bin/make_database.sh db_user db_name args:creates: /path/to/database # 'cmd' is module parameter-name: Run command if /path/to/database does not exist (with 'cmd' parameter) ansible.builtin.command:cmd: /usr/bin/make_database.sh db_user db_name creates: /path/to/database -name: Change the working directory to somedir/ and run the command as db_owner if /path/to/database does not exist ansible.builtin.command: /usr/bin/make_database.sh db_user db_name become: yes become_user: db_owner args:chdir: somedir/ creates: /path/to/database # argv (list) arguments, each argument on a separate line, 'args' keyword not necessary# 'argv' is a parameter, indented one level from the module-name: Use 'argv' to send a command as a list - leave 'command' empty ansible.builtin.command:argv:- /usr/bin/make_database.sh - Username with whitespace - dbname with whitespace creates: /path/to/database -name: Safely use templated variable to run command. Always use the quote filter to avoid injection issues ansible.builtin.command: cat quote register: myoutput
Valores devueltos
Los valores de retorno comunes están documentados aquí, los siguientes son los campos exclusivos de este módulo:
Llave | Devuelto | Descripción |
---|---|---|
cmdlista / elementos =string | siempre | El comando ejecutado por la tarea. Muestra:['echo', 'hello'] |
deltastring | siempre | El tiempo delta de ejecución del comando. Muestra:0: 00: 00.001529 |
finstring | siempre | La hora de finalización de la ejecución del comando. Muestra:2017-09-29 22: 03: 48.084657 |
msgbooleano | siempre | cambió Muestra:Cierto |
rcentero | siempre | El código de retorno del comando (0 significa éxito). |
comienzostring | siempre | La hora de inicio de la ejecución del comando. Muestra:2017-09-29 22: 03: 48.083128 |
stderrstring | siempre | El error estándar del comando. Muestra:ls no puede acceder a foo: no existe tal archivo o directorio |
stderr_lineslista / elementos =string | siempre | El error estándar del comando se divide en líneas. Muestra:["u'ls cannot access foo": "No such file or directory'", "u'ls …'"] |
stdoutstring | siempre | La salida estándar del comando. Muestra:Nodo de agrupación [email protected] con [email protected] ... |
stdout_lineslista / elementos =string | siempre | La salida estándar del comando se divide en líneas. Muestra:["u'Clustering node [email protected] con [email protected] ... '"] |
Autores
- Equipo principal de Ansible
- Michael DeHaan