script shell qui fonctionne bizarre [AIX] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 06-03-2007 à 09:49:15
chmod 755 recipro.pl
Marsh Posté le 06-03-2007 à 09:57:15
wedgeant a écrit : chmod 755 recipro.pl |
Heu, ouais ?
Code :
|
Comme tu le vois, je viens de faire ta manip et je ne vois rien d'inchangé dans les droits du script perl.
Marsh Posté le 06-03-2007 à 10:03:53
N'importe quoi, je n'y pige strictement rien !
Code :
|
Sur ces 3 commandes effectuées, seule la dernière fonctionne. C'est complètement dingue ce truc !!
Marsh Posté le 06-03-2007 à 10:17:58
regarde voir la 1ere ligne de ce script pour voir s'il fait reference à perl
tu sais ce fameux #!/bin/bash à adapter selon ta situation
Marsh Posté le 06-03-2007 à 10:20:02
memaster a écrit : regarde voir la 1ere ligne de ce script pour voir s'il fait reference à perl |
Déjà regardé le shebang est celui-ci : #!/opt/bas/dm/bin/nph-perl
Strictement identique au shebang de l'ancienne version du script (qui fonctionne toujours d'ailleurs).
Je l'ai remplacé par le classique #!/usr/bin/perl et ça ne fonctionne pas non plus.
Marsh Posté le 06-03-2007 à 10:25:32
memaster a écrit : les attributs sont les mêmes? |
Qu'entends-tu par "attributs identiques" ?
Si tu parles des 2 versions du script Perl, oui, les attributs sont identiques : même shebang en ligne 1 dans les deux scripts, mêmes droits de lecture/écriture/exécution, etc.
Marsh Posté le 06-03-2007 à 10:31:54
non les attributs du fichier avec la commande lsattr et chattr (cela dépend de ton systeme de fichier,
je ne sais pas si cela existe sous AIX)
Marsh Posté le 06-03-2007 à 10:41:17
memaster a écrit : non les attributs du fichier avec la commande lsattr et chattr (cela dépend de ton systeme de fichier, |
La commande chattr n'existe pas sur notre AIX (ou alors, pas dans mon path pour que je puisse la lancer).
Quant à lsattr, ça fait référence à des "devices" et malgré le man, je vois pas trop comment lancer ce truc là.
Marsh Posté le 06-03-2007 à 10:52:44
ReplyMarsh Posté le 06-03-2007 à 10:55:38
memaster a écrit : sinon "bidouille" ton cron pour prefixer ton script par perl. |
C'est ça que je voulais éviter
Je suis obligé de faire une demande au S.I. car je n'ai pas les droits d'écriture sur le script shell lancé chaque nuit.
Et ça m'explique pas pourquoi, sur 2 scripts identiques dans les droits d'exécution et le shebang invoqué, l'un fonctionne en l'appelant tel quel par son nom tandis que l'autre doit être préfixé par le nom du langage de programmation.
Mais bon, si y a pas d'issue à ce truc bizarre, je vais être contraint de contacter le S.I.
Marsh Posté le 06-03-2007 à 13:51:00
J'ai eu problème qui semble similaire ya un ptit temps.
Ca provenait du transfert des fichiers,
Qd je les passait en smb ou nfs ca me donnais le meme type d'erreur que toi,
impossible d'invoquer l'interpreteur via le script lui meme, avec perl devant ca marchait.
Apres j'ai retransferer le fichier via ftp en ascii et la ca marchait impec.
C'est juste une piste comme ca...
Marsh Posté le 06-03-2007 à 13:58:53
Nico5779 a écrit : J'ai eu problème qui semble similaire ya un ptit temps. |
C'est vrai qu'au boulot, on se coltine un vieux client FTP (WS_FTP Pro, version 98 ) mais c'est bien la première fois que j'aurais un soucis sur un transfert de script Perl.
Piste à creuser néanmoins, merci
Marsh Posté le 06-03-2007 à 09:41:17
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) :
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 :
Si je lance le programme "recipro.pl" à la main depuis un telnet, ça me donne ceci :
Par contre, cette méthode là fonctionne :
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 -> Google Pixel 9 PRO XL