|
Publicité | ||||||||||||||||||||||
|
|
#1 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 79 ![]() |
salut tout le monde!
je suis encore débutant en programmation UNIX,excusez mes questions débiles! ère question: comment tester si la chaine de caractère A se termine par une autre chaine de caractère B j'ai tenté de le faire ainsi: ceci ne donne pas d'erreurs mais ça donne pas le résultat que je veux 2ème question: si je veux tester une commande avec 2 arguments,comment faire? par exemple la commande test sur un repertoire,je veux tester qu'il est autorisé en lecture et qu'il est bien un répertoire alors j'ai utilisé ca: ou "a"contient le nom du répertoire,mais ça marche pas merci d'avance les amis! |
|
|
00
|
|
|
#2 | ||||
|
Expert Confirmé
![]() Inscription : février 2008 Messages : 1 897 ![]() |
Bonjour vamos,
1- La substitution de * n'est pas opérée entre guillemets, ou entre crochets droits. Pour savoir si une chaîne contenue dans une variable commence, se termine, ou contient une autre variable, il faut utiliser les doubles crochets droits ([[), et comparer les variables avec égal tilde. Cela permet d'évaluer des expressions rationnelles : Code :
2- les options de la commande interne/intégrée test (pour laquelle [ est équivalent) ne sont pas "cumulables". l'option -a vérifie que les deux (ou plus) conditions sont remplies l'option -o vérifie que l'une des conditions est vraie Code :
help test |
||||
|
|
00
|
|
|
#3 | |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 79 ![]() |
merci N_BAH pour tes reponses,ca marche tres bien!
![]() en restant dans les chaines de caracteres, j'ai un probleme avec expr ,on me dit : Citation:
ou n est un nombre entier ,est ce qu'il considere "1" comme une chaine de caracteres ?comment puis-je corriger ce probleme? merci pour tout |
|
|
|
00
|
|
|
#4 |
|
Expert Confirmé
![]() Inscription : février 2008 Messages : 1 897 ![]() |
hmm,si n est vraiment un entier, il n'y a pas de problème.
Quel shell utilises-tu ? |
|
|
00
|
|
|
#5 | |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 79 ![]() |
Citation:
j'utilise le bourne shell sh en fait,la commande entiere est exactement ca: est ce que le probleme est ailleurs? merci mon ami |
|
|
|
00
|
|
|
#6 | |
|
Expert Confirmé
![]() Inscription : février 2008 Messages : 1 897 ![]() |
Citation:
que retourne :de toute façon, fais : ... ? |
|
|
|
00
|
|
|
#7 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 79 ![]() |
Salut !
echo $n retourne un nombre normalement et en utilisant le unset ca donne aussi la meme erreur |
|
|
00
|
|
|
#8 |
|
Expert Confirmé
![]() Inscription : février 2008 Messages : 1 897 ![]() |
Bon
si il y a un script autour de ces commandes, il peut ne pas être inutile de nous le montrer. |
|
|
00
|
|
|
#9 |
|
Candidat au titre de Membre du Club
![]() Inscription : juillet 2009 Messages : 79 ![]() |
Salut!
j'ai regle le probleme,c'etait un probleme d'espaces, c'etait ecrit comme ca: n=[espace]`expr $n +1` il fallait supprimer l'espace et ajouter un autre avant le caractere "`"
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com