Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 03/07/2008, à 22:39

mirage59

[Resolu] [bash] Modifier une variable entré par l'utilisateur

Bonsoir,

Voila j'aimerais faire un script qui demande a l'utilisateur de rentré le nom
d'un fichier, et récupérer cette chaîne (jusque là c'est bon)
Où ça ce complique c'est que si l'utilisateur rentre autre chose que test.zip
le script ne peux plus récupéré test.zip (si l'utilisateur entre test.ZIP ou
TeSt.ZiP ou TEST.ZIP ect. le script ne marche plus)

J'ai déjà chercher, trouvé divers post sur "sed" mais rien qui ne me convient
(vu que je ne souhaite pas modifier une chaîne dans un fichier mais changer
une partie de la chaîne qui compose une variable)

Merci beaucoup de votre aide parce que là je suis vraiment bloqué par ce
problème hmm

Dernière modification par mirage59 (Le 03/07/2008, à 23:21)


L'homme le plus heureux est celui qui fait le bonheur d'un plus grand nombre d'autres.
[Diderot]

Hors ligne

#2 Le 03/07/2008, à 23:11

ADcomp

Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur

Yep ,

Peut-être quelque chose du genre ..

echo "Le MOT aVec changeMenT dE CassE" | tr -s A-Z a-z

affiche "le mot avec changement de case"

PS: 2 secondes de recherche maxi sur google ou autres .. hmm
conversion majuscule minuscule en bash  --> 2em résultat

Mes 2 cents,
@pluche


David [aka] ADcomp

Hors ligne

#3 Le 03/07/2008, à 23:12

philpinch

Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur

#!/bin/bash
clear

echo -e "Taper le nom du fichier .dll manquant et appuyé sur Entrée \n:"
read nomdll

# convertir nomdll en minuscule
n=`echo $nomdll | tr A-Z a-z`

if [ `expr index "$n" .dll` -gt 0 ]
then 
    wget http://files.my-dll.com/mydll-"$n".zip
else
    wget http://files.my-dll.com/mydll-"$n".dll.zip
fi


Phil Pinch
IT Trainer & Consultant

Meet me at http://philpinch.free.fr

Hors ligne

#4 Le 03/07/2008, à 23:16

mirage59

Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur

MAGNIFIQUE, merci énormément philpinch big_smile

@ADcomp: désolé j'ai recherché avec beaucoup de mot mais j'avais pas fait cette recherche hmm (C'est la fatigue...) et merci pour ta solution même si je préfère celle de philpinch

Merci a vous 2 de vous être penchez sur mon problème.


L'homme le plus heureux est celui qui fait le bonheur d'un plus grand nombre d'autres.
[Diderot]

Hors ligne

#5 Le 03/07/2008, à 23:18

philpinch

Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur

Content que cela te plaise.
bonne continuation.


Phil Pinch
IT Trainer & Consultant

Meet me at http://philpinch.free.fr

Hors ligne

#6 Le 03/07/2008, à 23:31

Alain.g

Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur

mirage59 a écrit :

J'ai déjà chercher, trouvé divers post sur "sed" mais rien qui ne me convient
(vu que je ne souhaite pas modifier une chaîne dans un fichier mais changer
une partie de la chaîne qui compose une variable):/

Bonsoir

On peut très bien utiliser sed :

nomdll=$(sed 's/.*/\L&/' <<< "$nomdll")

Xubuntu Karmic !

Hors ligne

#7 Le 03/07/2008, à 23:36

mirage59

Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur

@Alain.g :

Promis que je n'avais pas vu de ligne de code similaire sur le net (ou alors c'était justement au moment ou je cligné des yeux tongue)

Ceci mis a part ta ligne de code est probablement très intéressante mais a minuit et demi je galère;ta ligne m'apparait bien obscur en ce moment neutral

Si j'ai le temps je tenterai de comprendre ta ligne demain wink

Merci pour ta commande alternative smile


L'homme le plus heureux est celui qui fait le bonheur d'un plus grand nombre d'autres.
[Diderot]

Hors ligne

#8 Le 04/07/2008, à 02:55

Link31

Re : [Resolu] [bash] Modifier une variable entré par l'utilisateur

Alain.g a écrit :

On peut très bien utiliser sed :

nomdll=$(sed 's/.*/\L&/' <<< "$nomdll")

#!/bin/bash

Mais c'est intéressant comme syntaxe, je ne connaissais pas (il y a de quoi s'occuper des mois avec le man bash...).

Hors ligne