Ejecutando múltiples comandos a la vez en Linux
- 3450
- 1083
- Mateo Pantoja
Aprenderemos sobre cómo ejecutar varios comandos simultáneamente en Linux en este artículo. Cada operador tiene sus propias ventajas cuando se trata de separar los comandos. Este tutorial ayudará un poco a mejorar cómo ejecutamos los comandos y los scripts de shell del autor.
El sistema operativo Linux ofrece una interfaz de línea de comandos simple para administrar el sistema. Hay conchas como Bash, CSH y ZSH que aceptan comandos del usuario y los enriquecen al núcleo. Se utiliza un comando para realizar alguna función en el sistema. También podemos especificar múltiples shells a la vez y ejecutarlos uno tras otro.
Hay tres opciones distintas disponibles utilizando los operadores de separadores. En la siguiente sección, los miraremos en detalle.
Operador | Sintaxis | Descripción |
---|---|---|
Semicolon (;) | comando1; comando2 | Ejecutar ambos comandos uno por uno |
Lógico y (&&) | Command1 && Commnd2 | Ejecutar el comando2 solo si el comando1 es exitoso |
Lógico o (||) | Comando1 || comando2 | Ejecutar el comando2 solo si Commadn1 falló |
Discutamos todas las opciones en detalle.
Uso de Semicolon (;)
Semicolons (;) Comandos separados para garantizar que los comandos posteriores se ejecuten independientemente de los estados de salida de los anteriores. Use esta opción para garantizar que el comando se ejecute después de la finalización del anterior.
Sintaxis:
comando1; comando2; comandante
Ejemplo:
fecha; pwd; quién soy
Sábado 6 de agosto 01:56:05 UTC 2022 /Home /Rahul Rahul
Aunque el segundo comando falla debido a un error de permisos, el tercer comando aún se ejecuta en los siguientes comandos:
fecha; toque /raíz /a.TXT; quién soy
Sábado 6 de agosto 01:59:31 UTC 2022 Toque: No se puede tocar '/root/a.txt ': permiso denegó a Rahul
Ejecutando comandos separados por semicolonUso de lógico y operador (&&)
Tras la ejecución exitosa del comando anterior, el siguiente comando también se ejecutará. La lógica Y (&&) verificación del operador para el estado de salida del comando anterior.
Sin embargo, si el comando anterior terminó con distinto de cero Estado de salida, la ejecución se detendrá aquí. No se ejecutarán comandos posteriores en ese caso
Sintaxis:
command1 && command2 && commandn
Ejemplo:
mkdir ./copias de seguridad && CD ./copias de seguridad
El último comando no se ejecutará si el primer comando falló debido a cualquier motivo:
mkdir /root /backups && cd /root /backups
mkdir: no se puede crear el directorio '/root/backups': permiso denegado
Uso de comandos lógicos y entre múltiplesUso de lógico u operador (||)
La lógica O (||) Verificación de condición para el estado de salida del comando anterior y ejecuta el siguiente comando siguiente si el comando anterior falló.
Sintaxis:
Comando1 || Comando2 || comandante
Puede usar esta construcción en scripts de shell para determinar si un archivo o comando está disponible. Por ejemplo, en un script de copia de seguridad, puede verificar si /usr/bin/mysqldump
existe o no, y si no, puede imprimir un mensaje o finalizar el proceso.
[-s/usr/bin/mysqldump] || echo "comando no encontrado"
Use esto para probar el comando o el archivo que no está en su sistema. Esto es útil para scripts bash que crean archivos si faltan. También puede detener la ejecución del script si faltan archivos requeridos.
[-s/usr/bin/not_a_cmd] || echo "comando no encontrado"
Usando lógicos o entre múltiples comandosConclusión
En este artículo, repasaremos cómo ejecutar múltiples comandos simultáneamente en Linux. También cubriremos los diversos operadores utilizados para separar los comandos entre sí. Cada operador afecta la forma en que se ejecuta un comando, y cada uno tiene sus propios beneficios. Este tutorial proporcionará información útil a cualquier persona interesada en mejorar sus habilidades de compra o escritura de shell-shell.
- « (Resuelto) La clave se almacena en Legacy Trusted.GPG Keyring
- Cómo detectar y manejar errores en sus scripts bash »