Solo para agregar algunos puntos a la excelente respuesta de @Wilf,
puede ejecutar comandos en paralelo si lo desea por cualquier motivo, por ejemplo, un autostartscript para OpenBox podría verse así:
#!/bin/bash
nitrogen --restore &
tint2 &
tilda
Esto establecerá una imagen de fondo usando nitrogen, inicie el panel tint2e inicie la consola desplegable de estilo Quake3 tilda, todo al mismo tiempo. Esto es útil si no necesita un programa para finalizar antes de iniciar el siguiente. ¡No es el caso para apt-get updatey apt-get upgradeaunque!
Observe el &letrero al final de cada línea. Esto hará que el shell bifurque ese proceso en segundo plano y continúe la ejecución. Observe cómo es diferente &&, que es básicamente una andseñal, command_1 && command_2se ejecutará command_1y si sale con éxito, solo entonces se ejecutará command_2, mientras command_1 & command_2que comenzará el segundo justo después del primero.
Además, podría apilar comandos para que se ejecuten en serie, de esta manera:
#!/bin/bash
apt-get update
apt-get upgrade
Esto se ejecutará apt-get upgradedespués de que apt-get updatehaya terminado , pero independientemente del resultado. Entonces, incluso si, por ejemplo, la actualización se cierra con un error de red, la actualización aún se ejecutará.
También puede hacer esto en una sola línea, utilizando el ;signo: apt-get update ; apt-get upgrade. Nuevamente, esta solución no es óptima para estos comandos particulares, pero puede ser útil en otras situaciones.
Un punto final rápido, también puede dividir líneas que contengan &&como tales:
command_1 &&
command_2
Esto será lo mismo que command_1 && command_2.