[perl] exécution d un script unix particulier

fxta -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Salut,

je possede un script sh qui fait une requete en sqlplus, pour lancer ce script la main je tape :

. script.sh
(point espace script.sh) Sinon celui ci ne fonctionne pas.

Malheureusement perl ne comprend pas le . [espace] j'ai l'impression.

que ce soit en ssh :
my $CMD = "cd /tmp;. script.sh;" ;


ou en commande system :
my $sh = `. script.sh`; 

system(". script.sh");


Si quelqu un a une astuce ?

Bonne journée
Configuration: Unix Aix

15 réponses

  1. swoog42 Messages postés 1178 Statut Membre 245
     
    essaye de lancer ton script ainsi :
    ./script.sh
    0
  2. fxta
     
    Ca ne fonctionne pas non plus

    cannot execute
    0
  3. swoog42 Messages postés 1178 Statut Membre 245
     
    et si tu lance avec le chemin absolu ?
    0
  4. fxta
     
    meme message, je pense que je suis obliger de le lancer avec
    . script.sh
    ou alors trouver une commande qui joue le meme role que ce . [espace] .

    (d ailleurs je sais pas a quoi ca corespond . [espace] ^^)
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. swoog42 Messages postés 1178 Statut Membre 245
     
    désolé, je ne suis jamais tombé sur ce cas de figure, je passe la main.
    0
  7. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    Essaie
    system("sh script.sh");

    ou

    system(".", "script.sh");


    ou

    system("sh","script.sh");
    --
    106485010510997108
    0
  8. fxta
     
    Nice
    system("sh script.sh");
    fonctionne bien.

    j'en ai trouvé un autre qui fonctionne bien:
    <code>system(". /tmp/script.sh");

    Merci bien.

    Juste un ptit pb , quelles sont les commandes a taper pour charger les variables d'environnement lors d une connexion ssh?
    0
  9. fxta
     
    Desole j'ai répondu trop vite..... ca trouve le script (c est deja ca) ca le lance, mais l'exécution se passe tres mal...
    0
  10. fxta
     
    Bon je pense que je vais faire mon script en full perl ca évitera des pbs.

    Par contre comment faire pour charger les variables d'environnement d'un utilisateur?
    0
  11. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Bon je pense que je vais faire mon script en full perl ca évitera des pbs.
    Oui.

    Par contre comment faire pour charger les variables d'environnement d'un utilisateur?
    Tu veux changer quoi exactement?
    0
  12. fxta
     
    fichier liste.tmp:
    bob
    tom
    tim


    un bout du script:
    for i in `cat /tmp/liste.tmp`
    do
    export ENV1=$i
    . bin $i


    je vois pas comment traduire :
    export ENV1=$i
    . bin $i
    en perl.
    0
  13. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Ca te sers à quoi ces noms ?
    bob, tom, tim

    Peut être que tu es sur une mauvaise piste.
    0
  14. fxtaa Messages postés 1050 Date d'inscription   Statut Membre Dernière intervention   74
     
    J'ai voulu simplifier et censurer le script mais je pense plutot avoir raté mon coup.

    Possibilité de passer par MP ?
    0
  15. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Re,

    Pour les questions d'ordre général non. Il faut que la communauté profite des échanges, pour plusieurs raisons :
    - partage (le but de CCM)
    - peut être qu'il y a d'autres idées

    Pour les données privées oui tu peux passer par MP, mais le code éventuel sera écrit dans le forum (les données privées ne seront pas divulguées

    0