Affectation
F
-
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 34620 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
chwi entrain d'écrire mon shell j'ai besoinde faire l'affectation suivante
(( total=prix * nbplaces ))
mais ché pas pourquoi il ne l'exécute pas :\ !!!
voici mon code :
if (($#==0))
then
echo "Quelle est votre destination"
exit 1
fi
dest=$1;
nbpalces=$2;
grep "$dest" voyage > v
cut -d: -f3 v > v1
read pldispo < v1
if (($pldispo != 0))
then
echo "il y a des places pour $dest , voulez vous résérver ? "
cut -d: -f2 v > v2
read prix < v2
(( total=prix * nbplaces ))
echo "Prix $prix par place , soit $total pour $nbplaces places . Entrer Y/N pour confirmer ? "
read A
if [[ $A = 'Y' ]]
then
echo "La reservation est effectuée"
pldispo=$((pldispo - nbplaces ));
echo $pldispo > v1
cut -d: -f1,2 v > v3
paste -d: v3 v1 > v4
grep -v "$dest" voyage >> v4
sort v4 > voyage
fi
fig>
chwi entrain d'écrire mon shell j'ai besoinde faire l'affectation suivante
(( total=prix * nbplaces ))
mais ché pas pourquoi il ne l'exécute pas :\ !!!
voici mon code :
if (($#==0))
then
echo "Quelle est votre destination"
exit 1
fi
dest=$1;
nbpalces=$2;
grep "$dest" voyage > v
cut -d: -f3 v > v1
read pldispo < v1
if (($pldispo != 0))
then
echo "il y a des places pour $dest , voulez vous résérver ? "
cut -d: -f2 v > v2
read prix < v2
(( total=prix * nbplaces ))
echo "Prix $prix par place , soit $total pour $nbplaces places . Entrer Y/N pour confirmer ? "
read A
if [[ $A = 'Y' ]]
then
echo "La reservation est effectuée"
pldispo=$((pldispo - nbplaces ));
echo $pldispo > v1
cut -d: -f1,2 v > v3
paste -d: v3 v1 > v4
grep -v "$dest" voyage >> v4
sort v4 > voyage
fi
fig>
A voir également:
- Affectation
- Comment modifier l'affectation des touches? ✓ - Forum Windows
- Affectation de la touche schift - Forum Bureautique
- Affectation partiton avec test disk - Forum Windows
- Pas d’affectation lycée après la 3 eme ✓ - Forum Études / Formation High-Tech
- Programmation : affectation de valeur sur TI-83 ✓ - Forum calculatrices
1 réponse
Bonjour,
En shell, quand on affecte une variable, on donne uniquement son nom.
Par contre, quand on la rappelle pour obtenir son contenu, il faut obligatoirement la préfixer d'un signe $
Donc ça fonctionnera mieux :
Attention aussi à ça :
Si la variable A est vide, tu vas avoir un beau message d'erreur. La bonne manière de faire est :
En shell, quand on affecte une variable, on donne uniquement son nom.
Par contre, quand on la rappelle pour obtenir son contenu, il faut obligatoirement la préfixer d'un signe $
Donc ça fonctionnera mieux :
(( total=$prix * $nbplaces ))
Attention aussi à ça :
if [[ $A = 'Y' ]]
Si la variable A est vide, tu vas avoir un beau message d'erreur. La bonne manière de faire est :
if [ "$A" = "Y" ]
Attention aussi à ça : if [[ $A = 'Y' ]]
Si la variable A est vide, tu vas avoir un beau message d'erreur.
Pas avec les doubles crochets qui permettent de s'affranchir des quotes doubles ;-)