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 :

Mise d'une commande dans une variable impossible


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 107
    Par défaut Mise d'une commande dans une variable impossible
    Bonjour,

    J'essaie de mettre une commande dans une variable, dans un script mais cela ne marche pas du tout
    Je souhaiterais créer un sous-dossier a partir du nom d'un fichier présent dans dossier, lorsque j’écris le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    for file in dossier/*.txt; do
        name =' basename $file .txt'
        echo $name
        # nom du fichier qui sera le nouveau nom d'un nouveau dossier
        mkdir -p ${name}
    done

    Le bash ne veut pas intergerer la commande basename dans name , mkdir ne passe pas non plus

    Si quelqu'un aurait une idée ??

    Merci

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par judkil Voir le message
    Si quelqu'un aurait une idée ??
    Pas d'espace avant et après le "=" dans une affectation de variable. name="truc" et non pas name ="truc".
    Une récupération du résultat d'une commande se fait via les backquotes et non les quotes. name=`cmd` et non pas name='cmd'. Et la nouvelle syntaxe $() est bien plus pratique name=$(cmd).
    Et on met les variables contenant du texte entre quotes doubles. Ce n'est pas une obligation mais ça évite les soucis quand la variable contient un espace dans son nom. mkdir -p "${name}" et non pas mkdir -p ${name}.

    Et après un "si" on utilise l'indicatif et non pas le conditionnel => "si quelqu'un avait une idée". Le conditionnel se met dans la préposition qui suit l'hypothèse => "si quelqu'un avait une idée je serais content".
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 347
    Par défaut
    C'est sur, cela ne fonctionne pas comme ça et pourquoi faire compliquer quand on peut faire simple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    basename -z -s .txt -a dossier/*.txt | xargs -0 mkdir

  4. #4
    Membre actif
    Femme Profil pro
    Étudiant
    Inscrit en
    Mai 2019
    Messages
    107
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2019
    Messages : 107
    Par défaut
    Merci beaucoup et merci pour le français

Discussions similaires

  1. Obtenir la sortie d'une ligne de commande dans un variable java
    Par Dalidou dans le forum Général Java
    Réponses: 2
    Dernier message: 06/04/2009, 09h17
  2. [POO] Accès à une variable impossible!
    Par k o D dans le forum Langage
    Réponses: 34
    Dernier message: 25/11/2008, 15h17
  3. [Mail] comment inclure une commande dans une variable
    Par pierrot10 dans le forum Langage
    Réponses: 8
    Dernier message: 27/04/2006, 20h17
  4. Réponses: 22
    Dernier message: 09/12/2005, 21h27
  5. Concaténation d'une variable dans une commande
    Par dreamanoir dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 10/03/2005, 17h08

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