Script shell

Fermé
michellandry-91 Messages postés 174 Date d'inscription lundi 1 novembre 2010 Statut Membre Dernière intervention 23 novembre 2011 - 17 févr. 2011 à 10:50
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 17 févr. 2011 à 14:44
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

A voir également:

3 réponses

hiro24 Messages postés 238 Date d'inscription dimanche 18 mai 2008 Statut Membre Dernière intervention 20 octobre 2018 11
17 févr. 2011 à 10:53
Bonjour,
Ça te retourne quelle erreur ?
0
michellandry-91 Messages postés 174 Date d'inscription lundi 1 novembre 2010 Statut Membre Dernière intervention 23 novembre 2011 12
17 févr. 2011 à 10:55
il ya un soucis sur "set", la syntaxe est bonne?
0
hiro24 Messages postés 238 Date d'inscription dimanche 18 mai 2008 Statut Membre Dernière intervention 20 octobre 2018 11
17 févr. 2011 à 11:12
#! /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
michellandry-91 Messages postés 174 Date d'inscription lundi 1 novembre 2010 Statut Membre Dernière intervention 23 novembre 2011 12
17 févr. 2011 à 11:39
c'est toujours pareil, en fait la commande set ne donne rien
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
17 févr. 2011 à 11:53
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
17 févr. 2011 à 12:36
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
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
17 févr. 2011 à 12:40
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
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
17 févr. 2011 à 12:48
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
michellandry-91 Messages postés 174 Date d'inscription lundi 1 novembre 2010 Statut Membre Dernière intervention 23 novembre 2011 12
17 févr. 2011 à 14:18
je voudrais recuperer les informations dans un fichier ligne par ligne grâce à un script. Voilà le debut de mon problème.
0
michellandry-91 Messages postés 174 Date d'inscription lundi 1 novembre 2010 Statut Membre Dernière intervention 23 novembre 2011 12
17 févr. 2011 à 14:21
j'utilise Cygwin sous Windows XP
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
17 févr. 2011 à 14:44
Est-ce que la commande seule depuis un terminal marche ?
0