Si vous avez la soluce, je suis trés curieux de la comprendre
Au taf, le script shell suivant est exécuté toutes les nuits (via crontab) :
Code :
- DM_COMMANDS=/toto/titi/dm/bin/pouet.sh; export DM_COMMANDS
- . $DM_COMMANDS
- . $DM_RUNDMK/userlognm
- /DOC/toto/programme/reciproque/recipro.pl /DOC/log
- /DOC/toto/programme/reprod/reprod.pl /DOC/log
|
L'avant-dernière ligne du script shell concerne un script perl nommé "recipro.pl".
Celui-ci vient de subir une légère modification par mes soins mais, depuis que le S.I. a déployé la nouvelle version du script au même endroit, le script shell ne lance plus le programme mais il indique chaque nuit le sempiternel message d'erreur :
Code :
- ksh: recipro.pl: not found
|
Si je lance le programme "recipro.pl" à la main depuis un telnet, ça me donne ceci :
Code :
- >recipro.pl /DOC/log
- ksh: recipro.pl: not found
- >./recipro.pl /DOC/log
- ksh: recipro.pl: not found
|
Par contre, cette méthode là fonctionne :
Code :
- >perl recipro.pl /DOC/log
|
Sachant que les droits d'exécution sont strictement les mêmes entre l'ancienne version du script et la nouvelle version, ET que le shebang n'a pas bougé d'un iota, quelqu'un peut-il m'expliquer pourquoi, subitement, un script Perl qui autrefois se lançait rien qu'avec son nom doit maintenant être préfixé par le nom du langage de programmation ?
Si vous avez la moindre piste, je suis preneur parce que sinon, j'en suis réduit à faire une demande au S.I. pour qu'ils bidouillent leur script et... heu, on passe
---------------
Samsung Galaxy S1 -> Samsung Galaxy S2 -> Samsung Note 2 -> Huawei Ascend Mate 7 -> ZTE Axon 7 -> OnePlus 6T -> Oppo Find X2 PRO