#1 Le 13/11/2020, à 16:06
- DonutMan75
[RESOLU] Test pipeau avec bash....
Hello,
j'ai une variable qui contient un caractère et je veux afficher "YES" si ce caractère vaut "A"...
Je n'utilise pas assez souvent les tests bash pour être à l'aise avec, et je me perds souvent avec les syntaxes "shell-dependent"... une âme charitable pourrait-elle me dire pourquoi ceci ne fonctionne pas ??
$ echo $SHELL
/bin/bash
$ echo +$sat+
+A+
$ [ "$sat" = "A" ] && echo "YES" || echo "NO"
bash: [: « ] » manquant
NO
Pourtant le man de test indique :
SYNOPSIS
test EXPRESSION
test
[ EXPRESSION ]
[...]
DESCRIPTION
[...]
STRING1 = STRING2
the strings are equal
Merci d'avance !!
D.
Dernière modification par DonutMan75 (Le 13/11/2020, à 16:15)
Hors ligne
#2 Le 13/11/2020, à 16:15
- DonutMan75
Re : [RESOLU] Test pipeau avec bash....
Bon,
j'ai retapé entièrement la commande à la main et cette fois-ci ça marche ???
Incompréhensible...
D.
Hors ligne
#3 Le 14/11/2020, à 00:31
- kamaris
Re : [RESOLU] Test pipeau avec bash....
Une espace oubliée ?
$ [ "$sat" = "A"] && echo "YES" || echo "NO"
bash: [: « ] » manquant
NO
$
Hors ligne
#4 Le 14/11/2020, à 02:21
- Watael
Re : [RESOLU] Test pipeau avec bash....
un espace "insécable" ?
il s'obtient avec la combinaison AltGr-espace
le coquin est vu comme un espace, mais dissimule sa véritable nature perverse en programmation.
$ [ a = a ]
bash: [: « ] » manquant
$ echo '[ a = a ]' | od -c
0000000 [ a = a 302 240 ] \n
0000013
Dernière modification par Watael (Le 14/11/2020, à 02:24)
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#5 Le 14/11/2020, à 09:13
- DonutMan75
Re : [RESOLU] Test pipeau avec bash....
Bien vu l'utilisation de od dans ce cas précis !!
Il faudra que j'y pense la prochaine fois..
Merci à vous deux pour ces compléments
D.
Hors ligne