GNU/Linux >> Tutoriales Linux >  >> Linux

Linux Bash Script, ¿comando único pero varias líneas?

Todo lo que debe hacer es agregar "\" al final de cada línea y debería estar listo.

Entonces el tuyo se verá así:

tar -cvpzf /share/Recovery/Snapshots/$(hostname)_$(date +%Y%m%d).tar.gz \
    --exclude=/proc \
    --exclude=/lost+found \
    --exclude=/sys \
    --exclude=/mnt \
    --exclude=/media \ 
    --exclude=/dev \
    --exclude=/share/Archive \
    /

Algunos atajos

(basado en la actualización de su comentario para configurar $HOSTNAME)

$HOSTNAME

Dos opciones para configurar eso:

  1. Establecer NOMBRE DE HOST

    HOSTNAME=$(nombre de host)

  2. Utilice la sustitución de comandos (por ejemplo, $(command) )

    Entonces se vería como arriba. Eso solo hace que el comando se ejecute antes de usarlo.

$DATE

Otra variable evitada sería fácilmente:

$(hostname)_$(date +%Y%m%d).tar.gz \

$ man date tendrá los formatos para las opciones de fecha, el anterior es AAAAmmdd


Use la barra invertida para continuar un comando en la siguiente línea:

tar -cvpzf /share/Recovery/Snapshots/$HOSTNAME_$DATE.tar.gz \
--exclude=/proc \
--exclude=/lost+found \
--exclude=/sys  \
--exclude=/mnt  \
--exclude=/media  \
--exclude=/dev \
--exclude=/share/Archive \
/

El mismo comando, pero con comentarios para cada línea, sería:

tar -cvpzf /share/Recovery/Snapshots/$(hostname)_$(date +%Y%m%d).tar.gz `#first comment` \
    --exclude=/proc `#second comment` \
    --exclude=/lost+found `# and so on...` \
    --exclude=/sys \
    --exclude=/mnt \
    --exclude=/media \ 
    --exclude=/dev \
    --exclude=/share/Archive \
    /

Linux
  1. Cómo crear un script de un comando de Linux

  2. ¿Cómo cambiar el nombre de varios archivos en un solo comando o secuencia de comandos en Unix?

  3. Comando tar de Linux

  4. Comando wc de linux

  5. Ejemplos de comandos tar en Linux

Comando de suspensión de Linux (Pausar un script Bash)

Comando Renombrar en Linux (Renombrar Múltiples Archivos)

Comando de historial en Linux (Bash History)

Explicación del comando tar de Linux

Cómo ejecutar múltiples comandos de Linux en un solo comando

¿Cómo edito líneas anteriores en un comando de varias líneas en Bash?