vmware -> use: command not found ... problème de perl ??

vmware -> use: command not found ... problème de perl ?? - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 21-10-2007 à 17:47:13    

Bonsoir,
 
Voilà, je tourne sur debian etch, et j'ai un soucis lorsque je veux installer vmware.
Le fichier d'installation est "vmware-install.pl", dans ma console, je me log en root (avec su), et lorsque je lance la commande "sh vmware-install.pl", je me retrouve avec ceci:
vmware-install.pl: line 8: use: command not found
vmware-install.pl: line 13: use: command not found
vmware-install.pl: line 16: my: command not found
vmware-install.pl: line 18: my: command not found
vmware-install.pl: line 21: use: command not found
vmware-install.pl: line 26: sub: command not found
vmware-install.pl: line 27: syntax error near unexpected token `eq'
vmware-install.pl: line 27: `  if (vmware_product() eq 'tools-for-solaris') {'
 
J'y connais pas en grand chose, mais d'après ce que j'ai cru comprendre, les commandes "use", "my", "sub" seraient des commandes perl, donc el problème viendrait-il d'un problème d'interprétation à ce niveau ??
 
J'ai regardé, à priori "perl" est bien installé, je l'ai réinstallé et c'est pareil ...
 
Mais bon, comme je l'ai dit, je suis pas du tout programmeur, je fais peut être fausse route depuis le début, j'ai besoin de vos lumières  :)  
 
Merci par avance de vos suggestions !!
PS: j'ai testé avec plusieurs versions différentes de vmware et j'ai toujours le même résultat

Reply

Marsh Posté le 21-10-2007 à 17:47:13   

Reply

Marsh Posté le 21-10-2007 à 17:47:56    


perl vmware-install.pl

 

:o

 

perl pour interpréter les script perl ça ira mieux que sh [:dawao]


Message édité par black_lord le 21-10-2007 à 17:48:35

---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 21-10-2007 à 17:55:50    

Bouhhh honte à moi :-)
 
Ce qui m'étonnes c'est que je l'ai déjà installé sur mon autre PC et je me souviens pas avoir lancé avec cette commande ... je suis tout honteux !!
 
Merci en tous cas pour cette réponse rapide ;)

Reply

Marsh Posté le 21-10-2007 à 17:59:10    

Au fait, que je sois moins bête, la commande "sh" interprète quels fichiers ??
 
Merci :)

Reply

Marsh Posté le 21-10-2007 à 18:09:58    

les scripts shells


---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 21-10-2007 à 18:16:55    

OK, merci pour tout et bonne soirée ...

Reply

Marsh Posté le 21-10-2007 à 23:15:36    

jjo a écrit :

Bouhhh honte à moi :-)
 
Ce qui m'étonnes c'est que je l'ai déjà installé sur mon autre PC et je me souviens pas avoir lancé avec cette commande ... je suis tout honteux !!
 
Merci en tous cas pour cette réponse rapide ;)


t'as du le lancer directement en faisant ./vmware-install et au tout début du fichier il doit y avoir une ligne #!/bin/perl ou équivalent
 
et du coup ton shell trouve tout seul que l'interpréteur perl doit être utilisé pour le script.
 
Et quand tu spécifies sh, bah tu lui passes un langage qu'il ne comprend pas...


---------------
Bitcoin, Magical Thinking, and Political Ideology
Reply

Marsh Posté le 22-10-2007 à 09:34:11    

C'est le kernel qui trouve l'interpréteur, pas le shell.

Reply

Marsh Posté le 22-10-2007 à 09:34:52    

matafan a écrit :

C'est le kernel qui trouve l'interpréteur, pas le shell.


 
le kernel n'a rien à voir là dedans [:pingouino]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 22-10-2007 à 12:38:50    

Et si :p

Reply

Marsh Posté le 22-10-2007 à 12:38:50   

Reply

Marsh Posté le 22-10-2007 à 12:42:02    


Trouve nous une source qui explique ton propos parce là... C'est facile de sortir des choses de ce genre la. Tiens : c'est le ventirad qui trouve l'interpréteur... pas le kernel

 

[:ienchangel]

 


T'as un scipt. L'interpréteur est soit le bang machin sha-bang en haut du fichier, soit il est donné par l'utilisateur lors de l'exécution... Et qui regarde tout ca... ben le shell [:mrbrelle]
Ce shell exécute l'interpréteur et hop on a un interpréteur :p


Message édité par o'gure le 22-10-2007 à 12:48:25

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 22-10-2007 à 12:48:03    

Mieux qu'une source, tu peux faire un essai et réfléchir deux secondes. Tu te créé un script avec un she-bang. Tu te créé un petit exécutable qui execve() to script. Miracle, ça marche... Le shell n'a rien à voir là dedans. C'est le kernel qui interprète le she-bang.

Reply

Marsh Posté le 22-10-2007 à 12:53:36    

D'accord c'est l'appel systeme lui même qui regarde la présence du sha-bang... :p


Message édité par o'gure le 22-10-2007 à 13:03:57

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 22-10-2007 à 13:12:25    

matafan a écrit :

Mieux qu'une source, tu peux faire un essai et réfléchir deux secondes. Tu te créé un script avec un she-bang. Tu te créé un petit exécutable qui execve() to script. Miracle, ça marche... Le shell n'a rien à voir là dedans. C'est le kernel qui interprète le she-bang.


si tu passes un execve tu n'utilises plus d'interpréteur [:spamafote] c'est le shell qui lit le she-bang [:spamafote]


---------------
uptime is for lousy system administrators what Viagra is for impotent people - mes unixeries - github me
Reply

Marsh Posté le 22-10-2007 à 13:14:22    

le she-bang c'est l'interpréteur du script, non ?. Le shell (qui est aussi un interpréteur) va bien te faire un execve sur ton script non lorsque tu vas lui dire de l'exécuter ?


Message édité par o'gure le 22-10-2007 à 13:14:56

---------------
Relax. Take a deep breath !
Reply

Marsh Posté le 22-10-2007 à 13:32:16    

black_lord a écrit :


si tu passes un execve tu n'utilises plus d'interpréteur [:spamafote] c'est le shell qui lit le she-bang [:spamafote]


Ben non c'est pas le shell qui lit le she-bang, le shell n'a rien à voir là dedans. Quand tu fais execve tu demande au kernel d'exécuter ton fichier. Le kernel regarde la première ligne, il voit un #! et il fait un exec de ce qui suit, suivit du nom de fichier. Après c'est sûr, si ce qui suit le #! c'est un shell, ça va exécuter un shell... Qui va voir aussi le she-bang, mais pour le shell ça veut rien dire, c'est juste un commentaire.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed