IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

[Bash] Egalité en Bash


Sujet :

Shell et commandes GNU

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 138
    Points : 120
    Points
    120
    Par défaut [Bash] Egalité en Bash
    Bonjour,

    Je souhaite faire une sauvegarde de tous les répertoires à la racine de mon serveur, sauf certains répertoires.
    Je compte le faire ne bash.
    En utilisant le scripte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    #!/bin/bash
     
    for i in $( ls / ) 
    do 
    	if [[ -d /$i ]]
    	then
    		if [[ $i==etc ]]
    		then
    			echo "répertoire a ignorer $i"
    		else
    			echo "répertoire à sauvegarder $i **********"
    		fi
    	else
    		echo "fichier à ignorer $i"
    	fi
    done
    Je n'obtient rien de bon.
    Résultat du script précédant :
    répertoire a ignorer bin
    répertoire a ignorer boot
    répertoire a ignorer dev
    répertoire a ignorer etc
    répertoire a ignorer home
    fichier à ignorer httpd.conf
    répertoire a ignorer initrd
    fichier à ignorer install.log
    répertoire a ignorer lib
    répertoire a ignorer lost+found
    répertoire a ignorer mnt
    répertoire a ignorer opt
    fichier à ignorer pico.save
    répertoire a ignorer proc
    répertoire a ignorer root
    répertoire a ignorer sbin
    répertoire a ignorer tmp
    répertoire a ignorer usr
    répertoire a ignorer var
    Bash met tous les répertoires dans les répertoire à ignorer.
    Il devrait ignorer uniquement le répertoire etc.

    Est-ce que quelqu'un sait utiliser la commande if en bash ainsi que le test d'égalité ?

    Pour faire ce script, j'ai utilisé le site :
    http://aral.iut-rodez.fr/fr/sanchis/...h/ar01s10.html

    Merci d'avance

  2. #2
    Membre éclairé Avatar de Pilru
    Homme Profil pro
    Dev ASP.NET/jQuery ; Admin ORACLE
    Inscrit en
    Septembre 2007
    Messages
    491
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dev ASP.NET/jQuery ; Admin ORACLE

    Informations forums :
    Inscription : Septembre 2007
    Messages : 491
    Points : 833
    Points
    833
    Par défaut
    Respectes les espaces avant et après ==

  3. #3
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut
    Ecris
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if [ -d $i ]
       if [ $i = etc ]
    Pas de == pour les comparaisons de chaine en bash. Et ne mets pas de "/" devant $i (le repertoire ne s'appelle pas "/$i" mais bien $i.
    La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
    Donald E. Knuth

  4. #4
    Membre confirmé Avatar de KindPlayer
    Profil pro
    Inscrit en
    Février 2007
    Messages
    471
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 471
    Points : 477
    Points
    477
    Par défaut autant pour moi
    en fait /$i marche dans ce cas puisque c'est un chemin absolu depuis la racine
    La science est ce que nous comprenons suffisamment bien pour l'expliquer à un ordinateur. L'art, c'est tout ce que nous faisons d'autre.
    Donald E. Knuth

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2003
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2003
    Messages : 138
    Points : 120
    Points
    120
    Par défaut
    Ca marche.

    Merci beaucoup.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Bash - Pipe sur bash
    Par Grizli dans le forum RedHat / CentOS / Fedora
    Réponses: 5
    Dernier message: 28/06/2012, 13h14
  2. Requête POST dans un script bash
    Par desperado dans le forum Linux
    Réponses: 4
    Dernier message: 11/12/2007, 22h38
  3. (Bash) Emuler les Bash de Linux sous Windows
    Par Furius dans le forum Windows
    Réponses: 16
    Dernier message: 26/10/2005, 20h28
  4. Bash et fichiers
    Par localhost dans le forum Linux
    Réponses: 12
    Dernier message: 30/06/2004, 07h11
  5. Bash vs MySQL
    Par localhost dans le forum Linux
    Réponses: 3
    Dernier message: 28/06/2004, 10h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo