GNU/Linux >> Tutoriels Linux >  >> Linux

Script Linux Bash, une seule commande mais plusieurs lignes ?

Tout ce que vous devriez avoir à faire est d'ajouter "\" à la fin de chaque ligne et ça devrait être bon.

Ainsi, le vôtre ressemblera à :

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 \
    /

Quelques raccourcis

(basé sur la mise à jour de votre commentaire pour la configuration de $HOSTNAME)

$HOSTNAME

Deux options pour définir cela :

  1. Définir le nom d'hôte

    HOSTNAME=$(nom d'hôte)

  2. Utilisez la substitution de commande (par exemple $(command) )

    Donc, cela ressemblerait à ci-dessus. Cela fait simplement exécuter la commande avant de l'utiliser.

$DATE

Une autre variable évitée serait facilement :

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

$ man date aura les formats pour les options de date, celui ci-dessus est AAAAmmjj


Utilisez la barre oblique inverse pour continuer une commande sur la ligne suivante :

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 \
/

La même commande, mais avec des commentaires pour chaque ligne, serait :

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. Comment créer un script d'une commande Linux

  2. Commande Linux tar

  3. Commande wc Linux

  4. Exemples de commandes tar sous Linux

  5. Commande ou script Linux comptant les lignes dupliquées dans un fichier texte ?

Commande de mise en veille Linux (Pause d'un script Bash)

Renommer la commande sous Linux (renommer plusieurs fichiers)

Commande d'historique sous Linux (historique de bash)

La commande Linux tar expliquée

Comment exécuter plusieurs commandes Linux en une seule commande

Comment modifier les lignes précédentes dans une commande à plusieurs lignes dans Bash ?