|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||||
|
Débutant
Inscription : mai 2006 Messages : 529 ![]() |
Salut à tous,
J'ai un fichier (eucarc) qui contient un script (un ensemble d'export) que je dois l'exécuter... Voiçi le contenu du fichier: Code :
Citation:
Code :
![]() Je me suis dis pourquoi pas remplacer les deux variables dirname et readlink par leurs valeurs, mais j'ai pas su quoi mettre ni quoi faire ! Avez vous des suggestions ? |
|||||
|
|
10
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
Bonjour,
il faut définir un shebang cohérent avec le contenu du script, soit ici : , et, selon l'effet attendu, exécuter le script :, ou sourcer le script |
|
|
21
|
|
|
#3 | |
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
Citation:
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|
|
|
30
|
|
|
#4 |
|
Membre éprouvé
![]() Benoît Inscription : janvier 2009 Messages : 392 ![]() |
dans ton cas, lorsque tu auras résolu ton pb de variable, il faudra sourcer le fichier.
soit : soit a+ ben
__________________
Meet the free software gang |
|
|
20
|
|
|
#5 | |
|
Membre Expert
![]() |
Citation:
|
|
|
|
20
|
|
|
#6 | ||
|
Membre éprouvé
![]() Benoît Inscription : janvier 2009 Messages : 392 ![]() |
oui tu n'es pas obligé de remettre un shebang lors d'un source (ce n'est qu'une sorte de include).
Par exemple, pour la personnalisation de mon environnement shell, dans mon fichier .bashrc j'ai mis un source vers un fichiers contenant tous mes variables et cci dans lequel il n'y a pas de shebang. Code :
ben
__________________
Meet the free software gang |
||
|
|
01
|
|
|
#7 | ||||
|
Débutant
Inscription : mai 2006 Messages : 529 ![]() |
Je sais que lorsque je source mon fichier, tout ce passe bien !
Mais je veut le faire en ligne de codes: Code :
![]() Même quand je fais la même ligne avec Code :
|
||||
|
|
10
|
|
|
#8 |
|
Membre éprouvé
![]() Benoît Inscription : janvier 2009 Messages : 392 ![]() |
comme te l'as justement conseillé zip31, es tu sur que ta variable ${BASH_SOURCE} est bien définie ?
Pour cela, dans un shell fais un echo : a+ ben
__________________
Meet the free software gang |
|
|
10
|
|
|
#9 | ||
|
Débutant
Inscription : mai 2006 Messages : 529 ![]() |
Autre chose:
J'ai essayé celle ci : Code :
|
||
|
|
10
|
|
|
#10 |
|
Membre éprouvé
![]() Benoît Inscription : janvier 2009 Messages : 392 ![]() |
d'après ce que je comprends, tu essayes d’exécuter du shell par des appels systèmes en java.
Assures toi d'abords que ton script fonctionne en shell classique avant. Si tu n'es pas sur de la syntaxe en JAVA, règle d'abord ce problème en regardant comment faire un simple "hello world" proprement afin de te lancer sur un script dont tu n'es pas sur qu'il soit valide... ensuite tu pourras executer ton script a+ ben
__________________
Meet the free software gang |
|
|
10
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
/bin/sh n'est probablement pas un lien vers bash !
un export de variables depuis un sous-processus ne modifie pas l'environnement du processus parent. |
|
|
20
|
|
|
#12 | |||
|
Débutant
Inscription : mai 2006 Messages : 529 ![]() |
Citation:
- Mon script fonctionne parfaitement en shell classique ! J'ai tenté d'exécuter Code :
|
|||
|
|
10
|
|
|
#13 |
|
Débutant
Inscription : mai 2006 Messages : 529 ![]() |
J'ai rien compris !!!ne retourne rien !!! mais je RE-dis que quand je fais tout se passe bien ! |
|
|
01
|
|
|
#14 | ||||
|
Membre Expert
![]() |
Quand tu fais source machintruc dans le shell, tu utilises sans doute bash comme shell, donc ça passe.
Quand tu lances ton appel java, tu lances /bin/sh qui n'est visiblement pas bash. Or, source n'est pas une commande de sh. Remplacer /bin/sh par /bin/bash pourra peut-être corriger ce point: Code :
exemple : Code :
|
||||
|
|
30
|
|
|
#15 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 070 ![]() |
BASH_SOURCE est censée assister le debugger bash.
elle n'existe en effet qu'au sein d'un script (comme FUNCNAME n'existe que dans une fonction). |
|
|
20
|
|
|
#16 | ||||
|
Débutant
Inscription : mai 2006 Messages : 529 ![]() |
Alek-C: Vous avez complètement raison ...
ça m'a résoulule problème !! Merci En effet, j'ai un autre obstacle : j'ai fait comme ça : Code :
Mais mon code ne marche plus, parceque tout simplement (d'après ce que j'ai compris) ces 2 lignes de codes permet d'ouvrir deux Shell dont le deuxième n'a pas reçu le "source file" ... J'ai tenté de tout mettre dans une seule ligne genre: Code :
|
||||
|
|
01
|
|
|
#17 | ||
|
Membre éprouvé
![]() Benoît Inscription : janvier 2009 Messages : 392 ![]() |
tu peux rajouter le source dans le script keygen ?
Code :
__________________
Meet the free software gang |
||
|
|
10
|
|
|
#18 |
|
Débutant
Inscription : mai 2006 Messages : 529 ![]() |
Désolé !
J'ai un problème même lorsque j'exécute la commande euca-add-keypair dans un shell à part ! C'est à dire que depuis le message de "Alek-C", tout est, normalement, rentrée dans l'ordre Merci beaucoup à vous tous!!!
|
|
|
00
|
|
|
#19 |
|
Débutant
Inscription : mai 2006 Messages : 529 ![]() |
Juste une petite question :
Quelle est la signification du "-c" dans Code :
String[] cmd = { "/bin/bash", "-c","cd /home/user/euca2-user-x509; source eucarc" };
|
|
|
00
|
|
|
#20 | |||
|
Expert Confirmé
![]() Inscription : janvier 2011 Messages : 970 ![]() |
Salut,
Citation:
Code :
__________________
$ man woman Il n'y a pas de page de manuel pour woman. |
|||
|
|
10
|
Copyright © 2000-2012 - www.developpez.com