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 :

Probleme bizzare script shell


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 61
    Par défaut Probleme bizzare script shell
    Bonjour
    Voila j'ai un problème avec les quotes dans une commande shell.
    En faite je dois pouvoir faire la commande suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cvs log "/home/toto/mon fichier.txt"
    (idem avec les quotes simple)

    Quand je le fais manuellement dans la console, je n'ai aucun problème.
    Mais quand mon "/home/toto/mon fichier.txt" se trouve dans une variable ça ne marche pas quand j'y fais appel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cvs log $variable (variable="/home/toto/mon fichier.txt" (avec les quotes))
    : Ne marche pas.

    Comment faire en sorte pour que je puisse mettre les quotes (bien la commande marche sans les quotes), mais j'en ai absolument besoin étant donné qu'il peut y avoir des fichiers
    avec des espaces.

    Merci par avance.

  2. #2
    Membre expérimenté Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Par défaut
    Non car il faut "quoter" la variable dans l'expression (variable contient des espaces)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 61
    Par défaut
    Non c'est probleme, j'ai toujours le même probleme.

    En gros ce que ej veux c'est ça :
    sachant que $variable vaut exactement "/home/toto/mon fichier.txt" et non /home/toto/mon fichier.txt

    donc quand je fais: cvs log "$variable"
    je veux que la variable soit interpriter comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cvs log  "/home/toto/mon fichier.txt"
    et non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cvs log  /home/toto/mon fichier.txt

  4. #4
    Membre expérimenté Avatar de fransoo
    Inscrit en
    Novembre 2009
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Novembre 2009
    Messages : 209
    Par défaut
    alors il reste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cvs log "\"$variable\""

  5. #5
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Ton probleme vient du fait que ton fichier contient un espace, qui est de temps en temps un separateur, de temps en temps un caractere normal...

    Solution qui fonctionne tout le temps : ne pas mettre d'espace dans les noms de fichier
    Autre solution : proteger ses scripts le plus possible.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 61
    Par défaut
    Citation Envoyé par gangsoleil Voir le message
    Bonjour,

    Ton probleme vient du fait que ton fichier contient un espace, qui est de temps en temps un separateur, de temps en temps un caractere normal...

    Solution qui fonctionne tout le temps : ne pas mettre d'espace dans les noms de fichier
    Autre solution : proteger ses scripts le plus possible.
    En effet toujours le meme probleme.
    D'ou le fait que je veuille mettre des quotes , car avec les quotes ça marche très même avec des espaces dans les noms des fichiers, mais le probleme c'est ça marche pas quand c'est dans ne variable et je ne sais pas pourquoi...

Discussions similaires

  1. Problème script shell de sauvegarde
    Par julien.63 dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 01/11/2006, 16h10
  2. Problème dans un script shell/ftp
    Par peppena dans le forum Linux
    Réponses: 16
    Dernier message: 09/10/2006, 13h07
  3. Problème script shell sous ksh
    Par suya95 dans le forum Linux
    Réponses: 2
    Dernier message: 01/09/2006, 09h05
  4. Problème script shell
    Par bessonnet dans le forum Linux
    Réponses: 15
    Dernier message: 30/06/2006, 15h45
  5. Problème script shell
    Par bessonnet dans le forum Linux
    Réponses: 6
    Dernier message: 12/05/2006, 10h21

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