Votre navigateur est obsolète. Téléchargez un navigateur moderne, par exemple FireFox.
Léa-Linux : Forum
Le forum de Léa abrite des discussions autour des Logiciels libres.
Syndication
  • RSS ForumForum complet
  • RSS Forum - DéveloppementForum - Développement
  • RSS Forum - Développement - 320391Cette discussion

Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Important : quand vous posez une question, n'oubliez pas de nous donner les indications suffisantes pour que nous puissions répondre. En effet, la divination n'est pas le fort du Linuxien averti. Pour une meilleure compréhension, le bon usage de la grammaire et de l'orthographe est fortement encouragé. En particulier, le langage SMS est à éviter absolument. En cas d'abus, il pourra être censuré sans autre forme de procès.
Les messages dont le contenu est illégal (incitant à la haine - raciale ou autre, diffamant), ou dont le contenu est sans rapport avec le sujet du forum, ou qui sont parfaitement stupides ou hors sujet seront supprimés sans pitié. Il pourra même être fait appel au fournisseur d'accès du coupable pour faire cesser ses agissements.
» Index du forum » Développement » Aide pour un script shell
Aller à la discussion: PrécédentSuivante
Action: Nouveau sujetChercherS'authentifier
Aide pour un script shell
Auteur: vanitom (IP enregistrée)
Date: le 6 avril 2007 à 14:50

Bonjour,

J'ai un script shell à faire et je ne sais pas du tout par où commencer.

Voici la situation : Il faut quand dans un répertoire donnée que j'exécute un programme pour tous les fichiers ayant une extension définie.

Voilà alors si quelqu'un à une idée, je suis preneur.
Merci d'avance

Re: Aide pour un script shell
Auteur: Basile STARYNKEVITCH (IP enregistrée)
Date: le 6 avril 2007 à 16:47

Utiliser le motclé foreach du shell?

----

Basile STARYNKEVITCH où on trouve mon mél

Membre de l'APRIL « promouvoir et défendre le logiciel libre » - adhérez vous aussi à l'APRIL!

N.B. N'hesitez pas à consulter aussi mes contributions antérieures.

Re: Aide pour un script shell
Avatar
Auteur: oudoubah (IP enregistrée)
Date: le 6 avril 2007 à 17:32

Le mot clé foreach n'est pas connu par tous les shells.

Cela ressemble à du TP comme question.

On peut s'en sortir avec un simple for var in liste do plein_de_choses done
Jusque là, c'est juste un problème de syntaxe (un poil de lecture de développement shell que tu trouveras sur l net. D'ailleurs, ce sera nécessaire pour corriger ma commande).
Maintenant pour construire la liste, on peut utiliser $() ou `` (voir là aussi une page sur le développement shell).

Tu as lu les docs. Tu es devenu un informaticien. Que tu le veuilles
ou non. Lire la doc, c'est le Premier et Unique Commandement de
l'informaticien.
-+- TP in: Guide du Linuxien pervers - "L'évangile selon St Thomas"

Re: Aide pour un script shell
Avatar
Auteur: Fanch (IP enregistrée)
Date: le 6 avril 2007 à 17:45

oudoubah a écrit :

Cela ressemble à du TP comme question.

Je dirais même plus, ça sent la question de TP ; mais dans quelle formation peut-on bien commencer à faire du shell en Avril ?!!!





------- <br />
La meilleure façon de prédire le futur, c'est de l'inventer ~ Alan Kay

Re: Aide pour un script shell
Avatar
Auteur: tg(y) (IP enregistrée)
Date: le 6 avril 2007 à 18:38

Si c'est pour agir sur tous les fichiers .ext, c'est trozimple :
for fichier in *.ext ; do toto_pouet $fichier ; done ;


Ça, c'est fait. image : content

Re: Aide pour un script shell
Avatar
Auteur: Sve@r (IP enregistrée)
Date: le 11 avril 2007 à 18:21

tg(y) a écrit :

Si c'est pour agir sur tous les fichiers .ext,
c'est trozimple :
for fichier in *.ext ; do
toto_pouet $fichier ; done ;

Ça, c'est fait.

Eh ben non, pas aussi simple que ça !!!

Imagine que t'aies dans ton répertoire un fichier nommé "nom compose.txt" ben ta boucle "for" traitera ce fichier en 2 passes
- passe 1 => la variable "fichier" contient la chaîne "nom"
- passe 2 => la variable "fichier" contient la chaîne "compose.txt"
Et aucune des deux passes n'aura traité le fichier en question...

Voici la bonne syntaxe
ls *.ext |while read fichier ; do
toto_pouet $fichier ; done ;

image : chef

L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]

Re: Aide pour un script shell
Auteur: duff (IP enregistrée)
Date: le 12 avril 2007 à 14:16

Salut,

Essaye un truc comme ça:

find /ton/rep -type f -name \*.ext -exec toto_pouet {} \;


Tu cherches tous les fichiers normaux dont le nom est *.ext et pour chaque fichier trouvé, tu lances la commande toto_pouet.

Il existe énormément d'options pour le find, je t'invite regarder la doc pour finaliser ta recherche. Attention, le find va dans les sous-répertoires, il y a des options pourl'éviter.

Duff

Re: Aide pour un script shell
Auteur: NJILLE (IP enregistrée)
Date: le 14 avril 2007 à 19:50

salut les gars image : content, je viens de commencer la programmation des scripts shell, je n'arrive pas à compiler le script qui permet de s'executer lui même en l'enversimage : confus

Re: Aide pour un script shell
Avatar
Auteur: nicola (IP enregistrée)
Date: le 14 avril 2007 à 20:26

Un script ne se compile pas, justement. Il est interprété.

--
On ne prête qu’aux riches, et on a bien raison, parce que les autres remboursent difficilement.
-+- Tristan Bernard (1866-1947) -+-

Re: Aide pour un script shell
Avatar
Auteur: Sve@r (IP enregistrée)
Date: le 18 avril 2007 à 14:26

NJILLE a écrit :

salut les gars , je viens de commencer la
programmation des scripts shell, je n'arrive pas à
compiler le script qui permet de s'executer lui
même en l'envers


Un script qui permet de s'exécuter lui-même à l'envers ?
T'es franchement un winner toi !!!image : flue

Bon, t'as écris un script. Il se nomme "toto.sh"
T'as une action à faire une seule fois: "chmod a+x toto.sh"

Ensuite, chaque fois que tu voudras exécuter ton script, il te faudra taper
"./toto.sh" (sans les guillemets)


L'homme qui murmurait à l'oreille des pingouins
[fr.lang.free.fr]



Nom du forum : (antispam) - (en développement:saisir un texte pour le message, rempli cette zone automatiquement)
Votre nom: 
Votre email: 
Sujet: 

 
Ce forum est boosté par Phorum.