#1 Le 28/07/2006, à 16:35
- Ratur
[script shell] Attribuer une sortie à une variable (resolu)
Voila, je tente actuellement de faire un script shell, et j'aurais besoin de faire un truc tout con, avec lequel je m'arrache les cheveux depuis une heure
J'ai une invite qui demande à l'utilisateur d'entrer un texte :
zenity --entry --text="Entrez le nom du programme"
Et j'aimerais envoyer la sortie de cette commande dans une variable.
J'ai pensé à un truc dans le genre :
zenity --entry --text="Entrez le nom du programme" | read bbb
Et là, chose très étrange, ça fonctionne si je lance cette commande depuis mon terminal.
Par contre, ça ne marche pas si je l'integre dans mon script. Ma variable bbb reste désespérement vide .
Existe il une autre solution pour parvenir à mes fins ?
Aussi, autre chose, existe-il une commande pour extraire l'extension d'un fichier ? Donc un truc du genre :
$ ma_commande fichier.png
png
Je sais qu'il y a moyen de le faire avec sed, mais j'ai pas encore pris le temps de chercher à comprendre sa syntaxe
Edit : je viens de comprendre pourquoi ça marchait dans mon terminal et pas dans mon script : j'utilise zsh ! Maintenant, ça m'aiderait quand meme d'avoir une solution plus "standart" compatible avec sh
Dernière modification par Ratur (Le 28/07/2006, à 22:22)
Hors ligne
#2 Le 28/07/2006, à 17:06
- jr95
Re : [script shell] Attribuer une sortie à une variable (resolu)
Bonjour,
Pour ton premier pb, un truc du genre
VAR=`zenity --entry --text="Entrez le nom du programme"`
devrait faire l'affaire.
Pour le deuxième, une base de départ peut être
echo fichier.png | sed -e 's/.*\.//'
Hors ligne
#3 Le 28/07/2006, à 22:21
- Ratur
Re : [script shell] Attribuer une sortie à une variable (resolu)
Bonjour,
Pour ton premier pb, un truc du genreVAR=`zenity --entry --text="Entrez le nom du programme"`
devrait faire l'affaire.
Marrant ça, j'aurais juré avoir déjà essayé cette solution
Mais je viens de tester, ça a l'air de marcher
Pour le deuxième, une base de départ peut être
echo fichier.png | sed -e 's/.*\.//'
Merci, c'est exactement ce que je cherchais
Hors ligne