[perl] exécution d un script unix particulier [Fermé]

Signaler
-
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
-
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

15 réponses

Messages postés
1059
Date d'inscription
mercredi 30 septembre 2009
Statut
Membre
Dernière intervention
16 décembre 2018
235
essaye de lancer ton script ainsi :
./script.sh
Ca ne fonctionne pas non plus

cannot execute
Messages postés
1059
Date d'inscription
mercredi 30 septembre 2009
Statut
Membre
Dernière intervention
16 décembre 2018
235
et si tu lance avec le chemin absolu ?
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] ^^)
Messages postés
1059
Date d'inscription
mercredi 30 septembre 2009
Statut
Membre
Dernière intervention
16 décembre 2018
235
désolé, je ne suis jamais tombé sur ce cas de figure, je passe la main.
Pas de souci.

Merci quand meme.
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 543
Salut,

Essaie
system("sh script.sh");

ou

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



ou

system("sh","script.sh");
--
106485010510997108
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?
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...
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?
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 543
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?
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.
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 543
Re,

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


Peut être que tu es sur une mauvaise piste.
Messages postés
1050
Date d'inscription
mardi 20 octobre 2009
Statut
Membre
Dernière intervention
2 avril 2015
70
J'ai voulu simplifier et censurer le script mais je pense plutot avoir raté mon coup.

Possibilité de passer par MP ?
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 543
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