Entrer une variable [shell] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 02-03-2004 à 23:22:40
petit exemple: 
 
echo "entre ton nom, mon petit:" 
read nom 
echo $nom 
Marsh Posté le 02-03-2004 à 23:32:33
et pour faire une verification c bien ca : ? 
if ($nom == 'cstrike' or $nom == 'valve') 
{ 
code 
} 
else 
{ 
} 
 
?
Marsh Posté le 02-03-2004 à 23:37:11
if [ $nom == 'cstrike' ] 
then 
echo gagneeeee 
else 
echo  perduuu 
fi 
 
c mieu lol ^^
Marsh Posté le 04-03-2004 à 18:58:05
comment pourrais récupéré une variable de ce style : 
./truc.sh -bidule=1 ? 
 
++
Marsh Posté le 22-02-2005 à 14:42:39
Bonjour, 
 
si tu veux récupérer -bidule=1 c'est avec les $1 $2... 
il y a aussi shift qui est pas mal utile enfin va voir ce lien pour un vrai tuto: 
http://www.math.uni-bremen.de/techdoc/software1/bash/
Marsh Posté le 23-02-2005 à 13:25:43
| 0liv a écrit : Bonjour,  | 
 
 
Ou bien va voir ce lien pour un vrai cours sur le shell en français http://fr.lang.free.fr/cours/Shell_v1.2.doc
Marsh Posté le 23-02-2005 à 14:09:51
pendant que j'y pense il y a aussi les commandes getopt et getopts qui sont pas mal utiles pour "parser" une ligne d'option 
Marsh Posté le 23-02-2005 à 14:32:38
| 0liv a écrit : pendant que j'y pense il y a aussi les commandes getopt et getopts qui sont pas mal utiles pour "parser" une ligne d'option  | 
 
 
D'ailleurs, une question corrolaire : 
à quoi sert shift sans getopt?
Marsh Posté le 23-02-2005 à 15:02:34
| xouille38 a écrit : D'ailleurs, une question corrolaire :  | 
 
à faire ce genre de chose : 
| Code : 
 | 
Marsh Posté le 23-02-2005 à 15:05:10
on peut difficilement utiliser getopt sans shift... 
mais si tu fais un script bash tout bête style: ./foo arg1 arg2 arg3... argn 
tu n'auras pas besoin de getopt car tu désigneras argi avec $i par contre tu pourras avoir besoin de shift pour passer simplement de $i à $(i+k)
Marsh Posté le 23-02-2005 à 15:24:32
| xouille38 a écrit : D'ailleurs, une question corrolaire :  | 
 
 
Une fois, j'ai eu à traiter mes arguments deux par deux. 
J'ai donc écrit une simple boucle "while test $# -gt 1" puis j'ai fait un "shift 2 " en fin de boucle. 
Exemple concret d'un shift sans getopt...
Marsh Posté le 23-02-2005 à 17:43:38
| cycojesus a écrit : à faire ce genre de chose :  
 | 
 
 
vi mais ça j'aurais mis un getopt...  
  
 
Marsh Posté le 23-02-2005 à 17:47:25
Non mais en fait elle est con ma question... Rien que dans le cas d'un script à nombre d'arguments variables ça aide bien! 
marchi quand même!
Marsh Posté le 23-02-2005 à 18:30:18
ah pis tiens, l'explication historique : 
en Bourne shell on a pas droit à ${10} donc pas d'acces au dixième paramètre sans shift.
Marsh Posté le 24-02-2005 à 13:08:36
| xouille38 a écrit : ah pis tiens, l'explication historique :  | 
 
 
i=0 
for arg in $* 
do 
     i=`expr $i + 1` 
    test $i -eq 10 && echo $arg 
done 
 
Exemple concret d'accès au 10° paramètre sans shift (c'est tordu certes... mais les unixiens sont tous tordus ;-)
Marsh Posté le 02-03-2004 à 23:19:14
Hello,
Voila, j'aimerais avoir un truc de ce style dans mon script sh :
./script.sh
L'user est ? (usr a rentrer ici)
et apres ca l'envoie a :
adduser $user
c'est u e xemple, je men servirais aussi pour dautres scripts..
quelqu'un sait il comment faire ?