dividir un comando de una sola fila en dos partes para que esté más "estructurado" estéticamente

dividir un comando de una sola fila en dos partes para que esté más "estructurado" estéticamente

Tengo el siguiente comando que ejecuto desde un script. En el archivo de script está escrito en esta fila algo larga:

sudo zip -r /var/www/html/html-$(date +\%F-\%T-).zip /var/www/html -x /var/www/html/wp-content/cache

Hasta ahora todo bien, pero quiero dividir este comando en algunas partes.horizontalmente, como:

sudo zip -r /var/www/html/html-$(date +\%F-\%T-).zip /var/www/html || -x /var/www/html/wp-content/cache

¿De dónde ||deberían venir los caracteres no ejecutados que se utilizarán sólo para dividir "estéticamente" el comando en dos partes?

O tal vez incluso verticalmente como:

sudo zip -r /var/www/html/html-$(date +\%F-\%T-).zip /var/www/html 
-x /var/www/html/wp-content/cache

¿Cuál dirás que es la mejor manera de lograrlo?

Respuesta1

Si entiendo correctamente lo que estás tratando de lograr, deberías usar \. Esto permite dividir comandos largos en varias líneas.

sudo zip -r \
    /var/www/html/html-$(date +\%F-\%T-).zip \
    /var/www/html \
    -x /var/www/html/wp-content/cache

Tenga en cuenta que los espacios antes de las barras son importantes. Los shells no los insertan automáticamente, por lo que comandos como

echo\
"asdf"

probablemente resultará en un "comando no encontrado" (@ilkkachu).

información relacionada