Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 12/03/2010, 10h30   #1
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 86
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 86
Points : 17
Points : 17
Par défaut syntax error near unexpected token `fichier'

Bonjour,

Voila un petit script qui permet d'enlever le "^M" sous hp
Code :
1
2
3
4
5
6
7
8
9
10
 
#!/usr/local/bin/bash
 
for in fichier $( ls *.mi )
do
   dos2ux $fichier > result
   mv result $fichier
done
 
exit 0
Mais j'obtient l'erreur suivant:
./test.sh: line 3: syntax error near unexpected token `fichier'
./test.sh: line 3: `for in fichier $( ls *.mi )'


Merci pour votre aide
kass28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 10h52   #2
Membre Expert
 
Homme
budget et contrôle de gestion
Inscription : décembre 2006
Messages : 865
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 44
Localisation : France

Informations professionnelles :
Activité : budget et contrôle de gestion
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2006
Messages : 865
Points : 1 320
Points : 1 320
Salut,

ta ligne
Code :
for in fichier $( ls *.mi )
devrait à mon avis être
Code :
for in fichier $(ls *.mi)
__________________
Winnt

C'est en Linuxant qu'on devient .... geek

Intel Core i5 750 / 8 Go ram / Hdd 2 To / NVIDIA GeForce GTS 250 1Go sous Gentoo.
Dual core E6300 / 2Go ram / Hdd 1 To / Ati 9800XT sous Debian Testing.
Atom N330 / 4Go ram / Hdd 5To / intel GMA 950 sous Debian Testing
Winnt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 11h28   #3
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 86
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 86
Points : 17
Points : 17
Citation:
Envoyé par Winnt Voir le message
Salut,

ta ligne
Code :
for in fichier $( ls *.mi )
devrait à mon avis être
Code :
for in fichier $(ls *.mi)
NON. CE n'est pas du tout ca.
kass28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 12h17   #4
Membre Expert
 
Homme
budget et contrôle de gestion
Inscription : décembre 2006
Messages : 865
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 44
Localisation : France

Informations professionnelles :
Activité : budget et contrôle de gestion
Secteur : Administration - Collectivité locale

Informations forums :
Inscription : décembre 2006
Messages : 865
Points : 1 320
Points : 1 320
Salut,

Si c'est cela mais en partie seulement (m'apprendra à lire trop vite ).

La bonne ligne :
Code :
for fichier in $(ls *.mi)
__________________
Winnt

C'est en Linuxant qu'on devient .... geek

Intel Core i5 750 / 8 Go ram / Hdd 2 To / NVIDIA GeForce GTS 250 1Go sous Gentoo.
Dual core E6300 / 2Go ram / Hdd 1 To / Ati 9800XT sous Debian Testing.
Atom N330 / 4Go ram / Hdd 5To / intel GMA 950 sous Debian Testing
Winnt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 12h24   #5
Futur Membre du Club
 
Inscription : septembre 2006
Messages : 86
Détails du profil
Informations forums :
Inscription : septembre 2006
Messages : 86
Points : 17
Points : 17
Citation:
Envoyé par Winnt Voir le message
Salut,

Si c'est cela mais en partie seulement (m'apprendra à lire trop vite ).

La bonne ligne :
Code :
for fichier in $(ls *.mi)
Merci....
kass28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 17h15   #6
Expert Confirmé
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 1 897
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 1 897
Points : 3 677
Points : 3 677
Code :
1
2
3
4
5
6
7
8
9
for file in $(ls *spaces); do echo "$file"; done
mon
fichier
avec
des
espaces
#alors que
for file in *spaces; do echo "$file"; done
mon fichier avec des espaces
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 12/03/2010, 22h10   #7
Membre chevronné
 
Inscription : septembre 2007
Messages : 685
Détails du profil
Informations personnelles :
Âge : 48
Localisation : Suisse

Informations forums :
Inscription : septembre 2007
Messages : 685
Points : 723
Points : 723
Bonsoir,

Ce qui me gène est l'utilisation inutile d'une commande:
  • faire ls *.txt est équivalent à *.txt, directement,
  • faire cat fichier | awk '...' est équivalent à awk '...' fichier,
  • il y en a plusieurs autres, qui ne me reviennent pas en tête.
__________________
Un problème bien posé est déjà résolu (H. Bergson).
jmelyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2010, 14h57   #8
Membre habitué
 
Inscription : mai 2007
Messages : 138
Détails du profil
Informations personnelles :
Âge : 59

Informations forums :
Inscription : mai 2007
Messages : 138
Points : 108
Points : 108
Moi j'utilise:

noooop est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 01h47.


 
 
 
 
Partenaires

Hébergement Web