Bon, la dernière fois, j'avais un souci avec le ksh d'AIX; maintenant, c'est avec celui de HP-UX :-(
Contrairement à linux, le ksh d'HP-UX semble ne pas reconnaître le bang ('!') devant une expression...
sous Linux:
Jusque là, tout va bien...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 $ true $ echo $? 0 $ ! true $ echo $? 1
Sous HP-UX:
Y a-t-il un autre moyen que de réécrire tous mes tests pour les passer sous UP-UX?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 % uname -a HP-UX ppaleml B.11.11 U 9000/800 2323570091 unlimited-user license $ true $ echo $? 0 $ ! true ksh: !: not found
Par exemple, dois-je convertir (avec une bonne vieille macro emacs) mes tests:
en
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ! fgrep -q 'blabla' file ; then blabla ; fi
En fait, en regardant la doc de plus près, il semblerait que le bang soit plutôt destiné à nier une expression-du-test, lorsque celle-ci est entre double crochets:
Code : Sélectionner tout - Visualiser dans une fenêtre à part if fgrep -q 'blabla' file ; [[ $? -eq 0 ]] ; then blabla ; fi
même si l'écriture suivante fonctionne aussi sous linux:
Code : Sélectionner tout - Visualiser dans une fenêtre à part if [[ ! "x$a" = "x$b" ]] ; then ... fi
Quelle est votre expérience sur ce phénomène?
Code : Sélectionner tout - Visualiser dans une fenêtre à part if ! [[ "x$a" = "x$b" ]] ; then ... fi
Merci d'avance
)jack(
Partager