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

Linux Discussion :

Chemins relatifs


Sujet :

Linux

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut Chemins relatifs
    Bonjour à tous,

    Ma question va peut-etre vous paraitre bete.
    Mais, comment faire pour mettre des chemins relatifs en bash?
    Par ex, dans mon fichier start
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i in $(cat ~/rsync/backup_src); do
     $rsync $OPTIONS $i $dest/`hostname`_$INCREMENTDIR 2> ~/rsync/rsync_error
     if [ $? != 0 ]; then
     Mail $mailadm1 -s `hostname` Backup Report < ~/rsync/rsync_error
     fi
    je voudrai changer '~/rsync/backup_src' et '~/rsync/rsync_error' pour leur mettre des chemins relatifs.

    Que faut-il mettre à la place?


    Merci d'avance.

  2. #2
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Bonjour,

    Citation Envoyé par paco69
    je voudrai changer '~/rsync/backup_src' et '~/rsync/rsync_error' pour leur mettre des chemins relatifs.
    ça dépend relatif à quoi ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cd ~/rsync/
    ls ./backup_src
    ls ./rsync_error
    Comme ça

  3. #3
    Membre averti
    Inscrit en
    Octobre 2005
    Messages
    344
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 344
    Points : 324
    Points
    324
    Par défaut
    ou peut-être que ce que tu recherches , c'est ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i in $(cat $HOME/rsync/backup_src); do
     $rsync $OPTIONS $i $dest/`hostname`_$INCREMENTDIR 2> $HOME/rsync/rsync_error
     if [ $? != 0 ]; then
     Mail $mailadm1 -s `hostname` Backup Report < $HOME/rsync/rsync_error
     fi
    ????

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut
    Le but est de pouvoir mettre l'ensemble de mes scripts dans n'importe quel dossier, et qu'en tapant ma commande 'start' par ex., que le système sache ou se trouve cette commande.

  5. #5
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 54
    Points : 48
    Points
    48
    Par défaut
    tu peut utiliser la commande "whereis command", elle trouve l'emplacement d'un commande et l'affiche, a condition quelle appartient a ton PATH.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut
    Quand je disais
    que le système sache ou se trouve cette commande.
    c'est surtout pour l'executer.
    Juste indiquer le chemin de la commande au système pour qu'il l'execute.

  7. #7
    Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Juin 2006
    Messages
    54
    Détails du profil
    Informations personnelles :
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2006
    Messages : 54
    Points : 48
    Points
    48
    Par défaut
    et bein, si vous avez le chemin d'une commande ainsi que son nom, vous pouvez la lancer, n'est ce pas?

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut
    Il me faut mettre quelque chose avant le nom du fichier pour que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ce_quelque_chose/backup_src
    prenne le chemin du repertoire courant.
    Si je change mes scripts de place, par ex je les met dans /usr/bin/, eh bien ce_quelque_chose prenne le chemin /usr/bin.

    Dans mon script, ce serai comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     for i in $(cat ce_quelque_chose/backup_src); do
    $rsync $OPTIONS $i $dest/`hostname`_$INCREMENTDIR 2> ce_quelque_chose/rsync_error
    if [ $? != 0 ]; then
    Mail $mailadm1 -s `hostname` Backup Report < ce_quelque_chose/rsync_error
    fi
    Est-ce plus clair?
    Au depart, je pensais mettre des ./ et/ou des ../ comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i in $(cat .././backup_src); do
    $rsync $OPTIONS $i $dest/`hostname`_$INCREMENTDIR 2> .././rsync_error
    if [ $? != 0 ]; then
    Mail $mailadm1 -s `hostname` Backup Report < .././rsync_error
    fi
    Mais ca n'a pas l'air de marcher. ou peut-etre que je les utilise mal.

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 106
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par paco69
    Dans mon script, ce serai comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    ce_quelque_chose=`pwd`
    for i in $(cat $ce_quelque_chose/backup_src); do
    $rsync $OPTIONS $i $dest/`hostname`_$INCREMENTDIR 2> $ce_quelque_chose/rsync_error
    if [ $? != 0 ]; then
    Mail $mailadm1 -s `hostname` Backup Report < $ce_quelque_chose/rsync_error
    fi
    essaye la modification en GRAS ET ROUGE.

    Sinon tu peux imaginer de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ce_quelque_chose=`find "le repertoire de ton script"`
    a la place de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ce_quelque_chose=`pwd`
    Amine

  10. #10
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut
    Merci, ca marche quand on est dans le dossier.

    Par contre, quand on lance la commande en-dehors du dossier il me met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Starting RSYNC...
    cat: /root/backup_src: Aucun fichier ou répertoire de ce type
    RSYNC finished.
    Dans quel cas peut-on utiliser ./ et ../?

  11. #11
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    106
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 106
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par paco69
    Merci, ca marche quand on est dans le dossier.

    Par contre, quand on lance la commande en-dehors du dossier il me met:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Starting RSYNC...
    cat: /root/backup_src: Aucun fichier ou répertoire de ce type
    RSYNC finished.
    Dans quel cas peut-on utiliser ./ et ../?

    Ok, avant le
    tu mets
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cd le_chemin_absolu_du_repertoire_de_ton_script
    Amine

  12. #12
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Juin 2006
    Messages : 79
    Points : 28
    Points
    28
    Par défaut
    Ok, merci.

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

Discussions similaires

  1. Raccourci Chemin relatif pour la cible
    Par rabobsky dans le forum Autres Logiciels
    Réponses: 7
    Dernier message: 07/11/2005, 13h57
  2. Prb de chemin relatif
    Par hitchie dans le forum MFC
    Réponses: 4
    Dernier message: 10/05/2005, 15h46
  3. [Plugin Tomcat] Chemin relatif
    Par cloogy dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 01/03/2005, 16h26
  4. [XSL-FO] Chemin relatif d'une image
    Par JustAGphy dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 04/08/2004, 13h25
  5. [JSP] Include, problème de chemin relatif
    Par dafly dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 15/04/2004, 14h11

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