Petit script shell sous linux

mr_poussy Messages postés 2740 Statut Modérateur -  
jisisv Messages postés 3678 Statut Modérateur -
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 3678 Statut Modérateur 934
 
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 2740 Statut Modérateur 61
 
y a personne qui sait ??
0
jisisv Messages postés 3678 Statut Modérateur 934
 
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 3678 Statut Modérateur 934
 
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 2740 Statut Modérateur 61
 
merci merci

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

je vais essayer
0
mr_poussy Messages postés 2740 Statut Modérateur 61
 
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 2740 Statut Modérateur 61
 
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
mat
 
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