Petit script shell sous linux

Fermé
mr_poussy Messages postés 2735 Date d'inscription vendredi 24 août 2001 Statut Modérateur Dernière intervention 27 février 2013 - 14 mai 2002 à 18:48
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 - 15 mai 2002 à 12:17
voila une petite parti de mon script de test

foreach sourcefile (/home/moi/image/*.jpg)
echo sourcefile

et ce con me dit :
syntaxe error near unexpected token '(/'


grrr!!!

bon oki chui novice en shell machin mais kes qu'il veut ??
A voir également:

5 réponses

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
15 mai 2002 à 12:17
Pour parcourir une arborescence de fichiers, utilise la commande find ( ENORMEMENT d'options)
exemple sous bash
#!/bin/bash
function mamanip(){
[ "$1X" != "X" ] && file $1
}

OLDIFS=$IFS
#on utilise : comme séparateur
# $1 est le paramètre du script , normalement le nom d'un répertoire
LIST=$(find $1 -type f -printf "%p:" )

# éviter les espaces dans les noms de fichiers le caractère ":" normalement pas
# conseilé dans les noms de fichier UNIX
IFS=":"
for file in $LIST ; do
mamanip $file
done
# rétablir IFS
IFS=$OLDIFS

Gates gave us the windows.
Linux gave us the whole house....
1
mr_poussy Messages postés 2735 Date d'inscription vendredi 24 août 2001 Statut Modérateur Dernière intervention 27 février 2013 61
15 mai 2002 à 08:38
y a personne qui sait ??
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
15 mai 2002 à 09:35
D'abord c'est dans quel langage ton script ?

Gates gave us the windows.
Linux gave us the whole house....
0
jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
15 mai 2002 à 09:37
En bash, essaye quelque chose du genre

#!/bin/bash
for myfile in images/* ; do
echo $myfile;
done

Gates gave us the windows.
Linux gave us the whole house....
0
mr_poussy Messages postés 2735 Date d'inscription vendredi 24 août 2001 Statut Modérateur Dernière intervention 27 février 2013 61
15 mai 2002 à 09:49
merci merci

mais c en sh enfin je crois que c assez proche du bash.

je vais essayer
0
mr_poussy Messages postés 2735 Date d'inscription vendredi 24 août 2001 Statut Modérateur Dernière intervention 27 février 2013 61
15 mai 2002 à 09:59
de plus je dois manipuler chaque fichier du rep les uns apres les autres c pour ca que j'utilise la fonction 'foreach'

c justifier non ?

il y a une erreur de syntaxe ds mes ligne de commandes ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mr_poussy Messages postés 2735 Date d'inscription vendredi 24 août 2001 Statut Modérateur Dernière intervention 27 février 2013 61
15 mai 2002 à 10:15
ca y est ca marche

je n'avais pas defini le bon shell

il fallait que j'ecrive

#!/bin/tcsh

c tout :)

hala le nul que je suis ;)
0
salut,

en général ton script commence par #!/bin/sh sachant que "sh" n'est qu'un lien vers ton programme shell: bash, tcsh, csh ...

a+
mat
0