Script shell

Bonjour,

je ne vois pas l'erreur dans mon script

#! /bin/bash

cat etc_clone.sh | cut -d':' -f 1,3,4 | tr ":" " "

set nom='(cat etc_clone.sh | cut -d':' -f 1 | tr ":" " ")'

echo $nom

3 réponses

  1. Bonjour,
    Ça te retourne quelle erreur ?
    0
    1. il ya un soucis sur "set", la syntaxe est bonne?
      0
    2. #! /bin/bash

      cat etc_clone.sh | cut -d':' -f 1,3,4 | tr ":" " "

      set nom='(cat etc_clone.sh | cut -d: -f 1 | tr ":" " ")'

      echo $nom

      enlève les '' juste après le d peut-être
      0
    3. c'est toujours pareil, en fait la commande set ne donne rien
      0
  2. Contributeur
    je mettrai une espace entre le d et ':' de cut.
    Je pense que utilise mal set aussi. Je connais mal cette commande mais elle sert surtout à modifier le comportement du shell.
    essai sans set juste en mettant nom=
    Dernière chose, tu utilises bien l'apostrophe inversé (alt+ctrl+7) pour affecter le nom ?
    0
    1. Contributeur
      Salut,

      Quel système ?
      Quelle version de bash ?

      Essaie comme ça :

      #! /bin/bash
      
      cat etc_clone.sh | cut -d':' -f 1,3,4 | tr ":" " "
      
      nom="$(cat etc_clone.sh | cut -d':' -f 1 | tr ":" " ")"
      
      echo $nom
      0
      1. Contributeur
        Je pense que ça ne fonctionnera pas : des guillemets entre les guillemets, il faut les protéger.
        En lisant ta réponse, je me dis que ce n'est pas clair ce qu'il cherche à faire.

        michel, dit nous ce que tu cherches à faire exactement.
        0
      2. Contributeur
        Salut,

        Les guillemets sont à l'extérieur de la commande, et ne sont là que pour se prémunir d'éventuels espaces dans le contenu du retour qui formera la valeur de la variable...

        $ sed -n '3p' plop
        #set -xv
        
        $ sed -n '3p' plop | cut -d'-' -f2
        xv
        
        $ sed -n '3p' plop | cut -d'-' -f2 | tr "x" "n"
        nv
        
        $ A="$(sed -n '3p' plop | cut -d'-' -f2 | tr "x" "n")"
        
        $ echo $A
        nv
        
        $

        ;-))
        0
      3. je voudrais recuperer les informations dans un fichier ligne par ligne grâce à un script. Voilà le debut de mon problème.
        0
      4. j'utilise Cygwin sous Windows XP
        0
      5. Contributeur
        Est-ce que la commande seule depuis un terminal marche ?
        0