Tester caracteres script
lulut
-
lulut -
lulut -
bonjour,
je cherche à tester une chaine de caracteres en premier argument d'un script , à savoir si cet argument est un fichier ou un dossier, si cet argument contient des chiffres ou des lettres ; comment chercher un caractere dans un argument (pas dans un fichier )
merci
je cherche à tester une chaine de caracteres en premier argument d'un script , à savoir si cet argument est un fichier ou un dossier, si cet argument contient des chiffres ou des lettres ; comment chercher un caractere dans un argument (pas dans un fichier )
merci
Configuration: Windows XP Firefox 1.5.0.11
3 réponses
-
Salut lulut,
je cherche à tester une chaine de caracteres, à savoir si cet argument :
est un fichier :if [ -f "argument" ]; then...fi test -f "argument" ; echo "$?"
ou un dossier :if [ -d "argument" ]; then...fi
si cet argument contient exclusivement des chiffres :echo "argument" | egrep '^[0-9]+$'
ou exclusivement des lettres :echo "argument" | egrep '^[a-zA-Z]+$'
-
Re-
[jp@MDK tmpfs]$ echo aBcDeF | egrep '^[a-zA-Z]+$' aBcDeF [jp@MDK tmpfs]$ echo $? 0 [jp@MDK tmpfs]$ echo aBc222DeF | egrep '^[a-zA-Z]+$' [jp@MDK tmpfs]$ echo $? 1 [jp@MDK tmpfs]$
En fait si la chaîne est entièrement alphabétique, la chaîne est retournée et le code retour ($?) est égal à 0 (zéro).
Si la chaîne n'est pas entièrement alphabétique, rien n'est retournée et le code retour ($?) est égal à 1 (un).
C'est ce code retour qu'il faut testé...
-