Cómo ejecutar varios comandos en Linux

How Run Multiple Commands Linux



Se necesitan diferentes tipos de comandos para ejecutar desde el terminal en Linux. A veces necesitamos ejecutar varios comandos a la vez en el que los comandos pueden depender entre sí o no. La ejecución de varios comandos a la vez se denomina encadenamiento de comandos. Se pueden usar muchos tipos de operadores para el encadenamiento de comandos para diferentes propósitos. En este tutorial se muestra cómo puede ejecutar dos o más comandos utilizando los operadores más utilizados.

El operador pipe (|) se utiliza para ejecutar dos o más comandos relacionados a la vez. La entrada del siguiente comando será la salida del comando anterior. Entonces, el éxito de cada comando depende del éxito del comando anterior sin el primer comando. En el siguiente comando, el primer comando, ls encontrará la lista de archivos y carpetas de la ubicación actual y enviará la salida como entrada para el segundo comando, WC . Imprimirá el número total de líneas, palabras y caracteres según los datos de entrada.







$ls -los | WC Afortunadamente



Operador de punto y coma (;)

El operador de punto y coma (;) se utiliza para ejecutar dos o más comandos no relacionados a la vez. Esto significa que la salida de cada comando no depende de otros comandos. En el siguiente ejemplo, tres tipos de comandos se combinan juntos y la falla de cada comando no creará un efecto en la salida de otros comandos. El primer comando imprimirá el contenido de un archivo, el segundo comando creará un directorio y el tercer comando cambiará el directorio actual.



$gatomyfile.txt;mkdirnewdir;cdEscritorio





Operador lógico AND (&&)

Los comandos que ejecutan Logical AND (&&) están relacionados entre sí como el comando pipe (|). Por lo tanto, si el comando anterior no se ejecuta correctamente, los siguientes comandos no funcionarán. En el siguiente ejemplo, dos comandos, mkdir y rmdir combinados por operadores &&. Por lo tanto, si el comando mkdir no se ejecuta correctamente, el comando rmdir no se ejecutará. Según la salida del comando ls, el directorio myDir ya existe en la ubicación actual. Por lo tanto, el primer comando no se ejecutará y este segundo comando tampoco se ejecutará.

$ls
$mkdirmyDir&& rmdirtemperatura
$ls



Operador lógico OR (||)

El operador lógico OR (||) es lo opuesto al operador lógico Y (&&). El siguiente comando se ejecutará si el comando anterior no se ejecuta. Tres comandos cat se combinan con el operador OR (||) en el siguiente ejemplo. Cuando ejecute el comando, en primer lugar, intentará mostrar el contenido del archivo cat.txt. Si no existe tal archivo en la ubicación actual, intentará ejecutar el siguiente comando. Según la salida, el archivo bird.txt existe en la ubicación actual y se muestra el contenido de este archivo.

$ cat cat.txt || cat dog.txt || gato pájaro.txt

Múltiples comandos con múltiples operadores

Puede utilizar varios operadores para ejecutar varios comandos a la vez. En el siguiente ejemplo, tres comandos se combinan con los operadores OR (||) y AND (&&). Después de ejecutar el comando, en primer lugar, cambiará el directorio actual a newdir si el directorio existe. Si este comando falla, creará el directorio ejecutando el segundo comando e imprimirá el mensaje, se creará el directorio. Según la salida, el directorio newdir no existe en la ubicación actual. Entonces, se muestra el mensaje de error y el directorio se crea más tarde.

$cdnewdir|| mkdirnewdir&& echo 'directorio es creado'

Operador de combinación {}

Se pueden combinar dos o más comandos usando este operador y si la ejecución del primer comando falla, el segundo comando no se ejecutará. En el siguiente ejemplo, los operadores OR, AND y de combinación se utilizan juntos. Los primeros comandos verificarán si el directorio temporal existe en la ubicación actual o no. Si el primer comando falla, creará un directorio temporal e imprimirá un mensaje. El último comando mostrará la lista de directorios actual.

$[ -Dtemperatura] || { mkdirtemperatura;echoEl directorio temporal se crea ahora .;} && ls

Operador de precedencia ()

Puede utilizar este operador para agrupar los comandos en el momento de la ejecución. Aquí, cada grupo trabajará como una única tarea. En el siguiente ejemplo, se definen dos grupos de comandos y si el primer grupo no se ejecuta, se ejecutará el segundo.

$(cdtemperatura&& ls-a) || (mkdirtemperatura&& ls)

Conclusión

Este tutorial explica los operadores más utilizados para ejecutar varios comandos en Linux. Pero existen muchos otros operadores en bash que se utilizan para ejecutar dos o más comandos juntos. Estos son y comercial (&), redirección (, >>), NOT lógico (!), Combinación ({}), etc.