Bonjour,

Je tente de résoudre les exos du tutoriel "IntroProgBash"

Dans celui sur case (page 56), il s'agit de déterminer si le premier caractère est un chiffre, une majuscule ou une minuscule.

J'en suis là:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
 
shopt -s extglob
 
tampe=$(echo $1 | cut -c1 )
echo $tampe
case $tampe in 
 [0-9] ) echo l argument commence par 1 chiffre ;;
 [a-z] ) echo l argument commence par 1 minuscule ;;
 [A-Z] ) echo l argument commence par 1 majuscule ;;
 * ) echo argument commence par $tampe ;;
esac
Mais bONjour ou Bonjour affichent toujours "..1 minuscule".

Par contre si je code avec des if:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
echo $1 | grep ^[a-z]  
 
if [ $? = 0 ]
then
   echo "$1 commence par une minuscule"
fi
 
 
echo $1 | grep ^[A-Z]  
 
if [ $? = 0 ]
then
   echo "$1 commence par une majuscule"
fi
ça fonctionne.

Je suis en Fedora 9 2.6.27.25

Merci pour votre aide