[bash] Redirection ambigûe...
Fermé
BlueWolf²
Messages postés
44
Date d'inscription
vendredi 24 août 2007
Statut
Membre
Dernière intervention
28 août 2010
-
8 nov. 2007 à 17:54
dubcek Messages postés 18785 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 6 mai 2025 - 11 nov. 2007 à 13:41
dubcek Messages postés 18785 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 6 mai 2025 - 11 nov. 2007 à 13:41
A voir également:
- [bash] Redirection ambigûe...
- Bingo bash free - Télécharger - Divers Jeux
- Avertissement de redirection ✓ - Forum Réseaux sociaux
- Bash permission non accordée - Forum Shell
- Bash pause ✓ - Forum Shell
- Avertissement de redirection Google image - Forum Réseaux sociaux
5 réponses
Bonjour,
je suis pas un spoécialiste en bash, loin de la la...
mais ligne 15 tu lanes un echo de $ligne, il t'affiche donc quelque chose que tu pipe vers un cat.
Hors le cat attend quelque chose à droite, et ça lui vient de la gauche...
Mois je pense que t'as pas besoin de la commande cat et du pipe pour ajouter ( >>) dans $i
En ligne 4 c'est peut etre aussi la commande cat qui est de trop...
En esperant avoir pu t'aider :-)
Cordialement,
je suis pas un spoécialiste en bash, loin de la la...
mais ligne 15 tu lanes un echo de $ligne, il t'affiche donc quelque chose que tu pipe vers un cat.
Hors le cat attend quelque chose à droite, et ça lui vient de la gauche...
Mois je pense que t'as pas besoin de la commande cat et du pipe pour ajouter ( >>) dans $i
En ligne 4 c'est peut etre aussi la commande cat qui est de trop...
En esperant avoir pu t'aider :-)
Cordialement,
BlueWolf²
Messages postés
44
Date d'inscription
vendredi 24 août 2007
Statut
Membre
Dernière intervention
28 août 2010
12
10 nov. 2007 à 17:04
10 nov. 2007 à 17:04
Salut salut !
Bon, je n'avais pas pu faire les tests jusqu'à aujourd'hui. Je pensais que ta solution avait une chance de succès, mais en fait, ça ne change strictement rien à la sortie du truc...
Bon, je n'avais pas pu faire les tests jusqu'à aujourd'hui. Je pensais que ta solution avait une chance de succès, mais en fait, ça ne change strictement rien à la sortie du truc...
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
10 nov. 2007 à 17:36
10 nov. 2007 à 17:36
Salut,
A tout hasard, est-ce que les noms desz fichiers dans ton répertoires contiennent des espaces ?
Sinon déjà pour commencer, exécutes ton script en mode débogage, rajoute la ligne "set -xv" après le "shebang (#! /bin/bash)...
A tout hasard, est-ce que les noms desz fichiers dans ton répertoires contiennent des espaces ?
Sinon déjà pour commencer, exécutes ton script en mode débogage, rajoute la ligne "set -xv" après le "shebang (#! /bin/bash)...
BlueWolf²
Messages postés
44
Date d'inscription
vendredi 24 août 2007
Statut
Membre
Dernière intervention
28 août 2010
12
10 nov. 2007 à 18:14
10 nov. 2007 à 18:14
Non, aucun espace.
Je me suis rendu compte de 2 choses (pour info, mon .ext était en fait un .sh) :
- si jamais il n'y a qu'un seul fichier .sh dans le testdirectory, ça passe comme une lettre à la poste ;
- si je fais "for i in *.bat", ça marche aussi sans problème.
C'est donc la solution que j'ai adoptée pour mon TD. Cela ne me dit pas d'où venait l'erreur, mais j'ai au moins la preuve que mon script fonctionne...
Je me suis rendu compte de 2 choses (pour info, mon .ext était en fait un .sh) :
- si jamais il n'y a qu'un seul fichier .sh dans le testdirectory, ça passe comme une lettre à la poste ;
- si je fais "for i in *.bat", ça marche aussi sans problème.
C'est donc la solution que j'ai adoptée pour mon TD. Cela ne me dit pas d'où venait l'erreur, mais j'ai au moins la preuve que mon script fonctionne...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
dubcek
Messages postés
18785
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
6 mai 2025
5 631
11 nov. 2007 à 13:41
11 nov. 2007 à 13:41
si $ligne contient des caractères interprétés par le shell:
echo "$ligne" >> $i #@15
echo "$ligne" >> $i #@15