Bonjour,
Je suis arrivé récemment sur un projet qui doit tourner sous AIX et Linux en KSH. Le problème, c'est que la solution utilisé pour différencier les 2, le test est fait sur une commande uname. Ceci marchait un temps, car les machines étaient bien ciblées. Ainsi, les linux étaient des mandrake, et n'avaient pas réélement de KSH : un lien ksh -> bash était créé pour faire illusion. Ainsi, en fonction de uname ("AIX" ou "Linux"), le shell savait (indirectement) s'il utilisait du bash ou du ksh.
Le problème, c'est que maintenant, la boîte décide qu'il va y avoir aussi des Red Hat Enterprise 4, et cette distribution inclut un KSH... Donc le programme voit que c'est du Linux, et lance des commandes bash qui ne marchent pas toutes, puisque nous sommes en fait en KSH.
L'idée, c'est de ne pas reconnaître la distribution, mais de savoir quel shell est réélement lancé. Il y avait bien la variable $SHELL qui semblait intéressante, mais elle garde le shell qui lance le script, et non celui utilisé dans le script.
Avez vous une solution qui tienne la route et propre ? (= ne pas différencier chaque machine qui puisse arriver)
Merci d'avance pour votre aide =)
OniChou.
Partager