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 :

Variable fichier pour script bash


Sujet :

Shell et commandes GNU

Vue hybride

pcsystemd Variable fichier pour script... 22/04/2008, 18h03
pcsystemd Bon pour ma première demande... 23/04/2008, 13h31
frp31 déjà fais un exit 1 et pas 0 ... 23/04/2008, 13h46
pcsystemd que veux tu dire par : ... 23/04/2008, 13h52
frp31 rien de plus que ce qui est... 23/04/2008, 13h58
pcsystemd Voila mon script fini mais je... 23/04/2008, 14h10
Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 144
    Par défaut Variable fichier pour script bash
    Voila j'utilise ces commandes bash pour faire un update des repertoires home des users :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    sh -c "for poto in $(cat /root/fichier.lst);do  cd 
    /root/titi/tata/tutu/home;cvs up -dP $poto;done"
    Le script lit les noms des repertoires presents dans le fichier fichier.lst puis il fait un cvs up -dP du repertoire user.

    Mon souci c'est que le nom du fichier fichier.lst change tout le temps et je suis obligé de modifier le nom a la main a chaque fois ava. Je souhaite faire un script sh de ces commandes je souhaiterais savoir s'il est possible en déclarant une variable de récuperer le nom de mon fichier lst automatiquement.

    Merci

  2. #2
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 144
    Par défaut
    Bon pour ma première demande je me suis débrouillé autrement.

    Par contre je souhaite vérifier qu'un fichier existe et si ce n'est pas le cas que le script s'arrête. J'ai codé ce qui suit mais ce n'est pas complet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if [ -f $FICHIERLIST ]
    then
       echo Le fichier existe
    else
       echo "Le fichier n'existe pas"
     
    exit 1
    fi
    Avez vous une idée?

    Merci

  3. #3
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    déjà fais un exit 1 et pas 0

    zero=normal
    un=stderr

    il te manques le fi pour finir ton if

    ou alors utilises la syntax bash
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    [ -f $fichier ] || (echo "pas de fichier $fichier" ; exit 1) && (.....
    #corps de script
    ...)

  4. #4
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 144
    Par défaut
    que veux tu dire par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    && (.....
    #corps de script
    ...)
    Merci

  5. #5
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    rien de plus que ce qui est marqué

    si c'est ok au lieu de quitter faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ....
    #les actions que tu veux
    ....
    fin de script

  6. #6
    Membre confirmé
    Inscrit en
    Février 2005
    Messages
    144
    Détails du profil
    Informations forums :
    Inscription : Février 2005
    Messages : 144
    Par défaut
    Voila mon script fini mais je pense que des erreurs sont présentes (c'est mon tout premier).

    Qu'en pensez vous?

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    #!/bin/bash
     
    FICHIER=toto(date +%d%m%Y).txt
     
    [ -f $FICHIER ] || (echo "pas de fichier $FICHIER" ; exit 1) && (
     
    for toto in $(cat /root/$FICHIER) do  
     
    cd /root/titi/tata/tutu/home
     
    cvs up -dP $toto
     
    done
     
    for toto in \$(cat /root/$FICHIER) do 
     
    cd /root/tutu/titi/ 
     
    make clean
     
    make install
     
    cd /home/$toto 
     
    find /home/$toto/config -type d -exec chmod 755 {} \;;
     
    find /home/$toto/config -type f -exec chmod 644 {} \;;
     
    find /home/$toto/config -type f -exec chown \$toto\.\$toto {} \;;
     
    done
     
    exit 0
     
    )

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

Discussions similaires

  1. Export de variable d'un script bash à un script perl
    Par neg12 dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 09/03/2011, 20h45
  2. Réponses: 0
    Dernier message: 20/10/2009, 23h35
  3. Norme POSIX pour script bash UNIX
    Par arnaudperfect dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 30/07/2007, 21h46
  4. sleep et kill pour script bash
    Par jeyce dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 11/01/2007, 21h34
  5. Aide pour script bash
    Par cmoiki dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 05/01/2007, 23h50

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