A voir également:
- Traitement chaine de caractère
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Caractère spéciaux mac clavier - Guide
- Chaine tnt gratuite sur mobile - Guide
17 réponses
bon je viens d'installer et de tester.
si tu fais
ch=
echo $ch
ca te renvois une ligne.
ch="pop"
$ch
ca te renvois
pop
si tu fais
ch=
ch="pop"
echo $pop
ca te renvois
pop
ca que tu voulais savoir?
si tu fais
ch=
echo $ch
ca te renvois une ligne.
ch="pop"
$ch
ca te renvois
pop
si tu fais
ch=
ch="pop"
echo $pop
ca te renvois
pop
ca que tu voulais savoir?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Non :( c'est pas ça mon besoin.
voici l'algrithme :
ch =
ch = x,y
si ch conyient des valeurs (x,y...) alors
chaine pleine
sinon
chaine vide (ne contien rien aprés le "=")
fin si
voici l'algrithme :
ch =
ch = x,y
si ch conyient des valeurs (x,y...) alors
chaine pleine
sinon
chaine vide (ne contien rien aprés le "=")
fin si
desole du double post faut que je pense a creer un compte pour éditer.
par un contre bizarre si je fais
x1=
x2=
ch=$x1,$x2
il me sort chaine pleine :s
par un contre bizarre si je fais
x1=
x2=
ch=$x1,$x2
il me sort chaine pleine :s
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
20 févr. 2008 à 10:36
20 févr. 2008 à 10:36
par un contre bizarre si je fais
x1=
x2=
ch=$x1,$x2
il me sort chaine pleine :s
Est-ce que a tout hasard, echo $ch ne te renverais pas "," ? ;-)
x1=
x2=
ch=$x1,$x2
il me sort chaine pleine :s
Est-ce que a tout hasard, echo $ch ne te renverais pas "," ? ;-)
nhien
Messages postés
14
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
20 février 2008
1
20 févr. 2008 à 10:38
20 févr. 2008 à 10:38
re c 'est pouet.
et en effet ca me renvois ca :p
je tente d'aider simo mais je découvre en même temps le langage ! A la curiosité :p
et en effet ca me renvois ca :p
je tente d'aider simo mais je découvre en même temps le langage ! A la curiosité :p
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 567
20 févr. 2008 à 10:49
20 févr. 2008 à 10:49
Salut,
ch=$x1,$x2 contient la virgule donc elle n'est pas vide
ch=$x1,$x2 contient la virgule donc elle n'est pas vide
lami20j@debserv:~$ x1= lami20j@debserv:~$ x2= lami20j@debserv:~$ ch=$x1$x2 lami20j@debserv:~$ test -z $ch && echo vide vide lami20j@debserv:~$ x1= lami20j@debserv:~$ x2= lami20j@debserv:~$ ch=$x1,$x2 lami20j@debserv:~$ test ! -z $ch && echo pleine pleine lami20j@debserv:~$
J'ai résolu le problème les amis :
en fait mon problème c'est une chaine qui contien une chaine :)
je ne fais le test sur la chaine directement, désolé j'avais oublié de le mentionner
ch="ch = "
ou
ch="ch = x,y"
solution :
echo $ch |awk -F"=" '{if ($2=="") {print "vide"} else {print "pleine"} }'
si vous avez d'autres solutions plus simple n'hésitez pas :)
et merci encore ;)
en fait mon problème c'est une chaine qui contien une chaine :)
je ne fais le test sur la chaine directement, désolé j'avais oublié de le mentionner
ch="ch = "
ou
ch="ch = x,y"
solution :
echo $ch |awk -F"=" '{if ($2=="") {print "vide"} else {print "pleine"} }'
si vous avez d'autres solutions plus simple n'hésitez pas :)
et merci encore ;)
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
20 févr. 2008 à 10:55
20 févr. 2008 à 10:55
En plus concis avec les methodes de pouet & Lami:
man ksh
Section: Parameter Expansion
test -z ${chaine#ch = } && echo "chaine vide" || echo "chaine pleine":)
man ksh
Section: Parameter Expansion
${parameter#pattern} ${parameter##pattern} If the shell pattern matches the beginning of the value of parameter, then the value of this expansion is the value of the parameter with the matched portion deleted; otherwise the value of this parameter is substituted. In the first form the small- est matching pattern is deleted and in the second form the largest matching pattern is deleted. When parameter is @, *, or an array variable with subscript @ or *, the substring operation is applied to each element in turn.en gros, ${chaine#ch = } prend la variable $chaine, et efface dedans la partie qui correspond à "ch<espace>=<espace>" on test la longueur de la chaine retournée (est-elle egale a zero) si oui (&&) echo "chaine vide" si non (||) echo "chaine pleine"
nhien
Messages postés
14
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
20 février 2008
1
20 févr. 2008 à 11:03
20 févr. 2008 à 11:03
#!bin/ksh
x1=
x2=
ch=$x1$x2
if [ -z $ch ]
then
echo "chaine plein"
else
echo "chaine vide"
fi
x1=
x2=
ch=$x1$x2
if [ -z $ch ]
then
echo "chaine plein"
else
echo "chaine vide"
fi
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
20 févr. 2008 à 11:05
20 févr. 2008 à 11:05
Avec un if,
test -z ${chaine#ch = } && echo "chaine vide" || echo "chaine pleine"devient
if [ -z ${chaine#ch = } ]; then echo "chaine vide"; else echo "chaine pleine"; fi;Pour les explications, j'ai éditer mon post, est-ce suffisant ?
ch="chaine1 = "
if test -z ${ch#chaine1 = }
then
echo "chaine vide"
else
echo "chaine pleine"
fi
ça ne marche pas!!
il me renvoie "chaine pleine?!!"
if test -z ${ch#chaine1 = }
then
echo "chaine vide"
else
echo "chaine pleine"
fi
ça ne marche pas!!
il me renvoie "chaine pleine?!!"
nhien
Messages postés
14
Date d'inscription
mercredi 20 février 2008
Statut
Membre
Dernière intervention
20 février 2008
1
20 févr. 2008 à 11:36
20 févr. 2008 à 11:36
chaine1=
ch=$chaine1
ch=$chaine1
Je veuw ça en shell :
ch="ch = "
ou
ch="ch = x,y"
solution :
echo $ch |awk -F"=" '{if ($2=="") {print "vide"} else {print "pleine"} }'
est ce possible?!
ch="ch = "
ou
ch="ch = x,y"
solution :
echo $ch |awk -F"=" '{if ($2=="") {print "vide"} else {print "pleine"} }'
est ce possible?!