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 ?