Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1804 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [KSH] Scripts en série & pb de path

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[KSH] Scripts en série & pb de path

n°2103852
gocho
Posté le 28-09-2011 à 20:20:21  profilanswer
 

Bonsoir,

 

J'ai un petit soucis sur un dev que je suis en train de faire.
Je vais d'abord commencer par un petit résumé :

 

Nous avons l'arborescence suivante :
 /apps/dtc
          --> petitun.sh
          --> batch/
                  --> petitdeux.sh
                  --> jarkivabien.jar
                  --> lib/
                          --> librairies utilisées par le jar

 

petitun.sh va faire diverses choses et appeler petitdeux.sh
ca, pas de problèmes.

 

petitdeux.sh va faire diverses choses dont appeler jarkivabien.jar
Ca, pas de soucis non plus.

 

jarkivabien.jar va faire diverses choses et les fait bien.
Pas de soucis non plus ici.

 

Le problème, c'est lorsque je veux lancer petitun.sh qui va lancer petitdeux.sh qui va lancer jarkivabien.jar

 

J'ai le droit à un beau :

Code :
  1. Unable to access jarfile createUsersRBE.jar
 

Là, mes lointaines connaissances me disent : le shell est fourbe, vu que tu lances d'un répertoire à un autre, il doit pas se situer au bon endroit lorsque tu veux lancer le jar. OK.

 

Je modifie donc mon petitdeux.sh de la façon suivante :

Code :
  1. JAVA_HOME=/usr/java6/jre/bin
  2. DIR_LAUNCH=/apps/dtc/dtc/batch
  3. export JAVA_HOME
  4. export DIR_LAUNCH
  5. PATH=$PATH:$DIR_LAUNCH:$JAVA_HOME
  6. export PATH
  7.  
  8. java -jar jarkivabien.jar $CMS $BOUSER $BOPASS $TDUSER $TDPASS $TDSERV $TDDB
 

là, java est bien trouvé.
Mais pas mon jarkivabien.jar.

 

Les seuls moyens que j'ai de le lancer sont de faire un petit

Code :
  1. cd /apps/dtc/bath


avant de lancer l'exécution du jar, ou de lui indiquer le chemin complet :

Code :
  1. java -jar /apps/dtc/batch/jarkivabien.jar $CMS $BOUSER $BOPASS $TDUSER $TDPASS $TDSERV $TDDB
 

Pourquoi cela ne fonctionne-t-il pas avec l'export du PATH ?
Aurais-je raté un truc sur la visibilité des variables d'environnement ?

 

Si quelqu'un à une idée, je suis preneur :)

 

Merci,

 

Gocho


Message édité par gocho le 28-09-2011 à 20:22:47
mood
Publicité
Posté le 28-09-2011 à 20:20:21  profilanswer
 

n°2103871
Elmoricq
Modérateur
Posté le 29-09-2011 à 08:26:31  profilanswer
 

La variable PATH ne sert qu'au shell, pour trouver les fichiers avec les droits d'exécution qu'on lui demande de lancer.
Il est donc normal que java ne trouve pas le .jar avec uniquement la variable PATH de renseignée, puisque java ne la regarde pas.


Message édité par Elmoricq le 29-09-2011 à 08:27:03
n°2103875
gocho
Posté le 29-09-2011 à 08:48:01  profilanswer
 

Une idée sur comment je pourrais le faire ?
N'ai je que l'option de faire un 'cd' ou de renseigner le chemin en dur ?

 

Message cité 1 fois
Message édité par gocho le 29-09-2011 à 08:51:51

---------------
Mon feedback
n°2103883
gocho
Posté le 29-09-2011 à 09:28:12  profilanswer
 

Bon...en fait, j'ai fait simple, je suis passé par un cd.
Y'avait un autre soucis sans cela, l'un de mes fichiers de logs n'allait pas au bon endroit...
avec le cd, tout est ok :)
 
Petite question subsidiaire :  

Code :
  1. flag=$(find /apps/dtc/batch/ -type f -name "Petitun.sh" | wc -l)


 
La commande suivante me retourne le nombre d'occurences trouvées.
J'ai une variable qui représente /apps/dtc/batch ($batch)
 
sauf que  

Code :
  1. flag=$(find $batch -type f -name "Petitun.sh" | wc -l)


ne fonctionne pas....
 
Comment puis je faire pour utiliser mes variables ?


---------------
Mon feedback
n°2103916
gilou
Modérateur
Modzilla
Posté le 29-09-2011 à 12:14:58  profilanswer
 

gocho a écrit :

Une idée sur comment je pourrais le faire ?  
N'ai je que l'option de faire un 'cd' ou de renseigner le chemin en dur ?  
 

http://forum.hardware.fr/hfr/Progr [...] 1088_1.htm
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  [KSH] Scripts en série & pb de path

 

Sujets relatifs
[RESOLU][Shell] Renuméroter en sérieDeux scripts similaires et un seul qui fonctionne
Absolute path from any file of the server[Excel-VBA] Rajouter Série .newseries
[XSLT 2.0] Récupérer le PATH d'un élément //LINEouvrir une communication série (usb) en C
Scripts infobulles " alt" , ne s' affichent plusPermissions des scripts / webserver
Configurer un site asp pour qu'il puisse supporter des scripts ".aspx"[Résolu] Boucle infinie d'appel de scripts.
Plus de sujets relatifs à : [KSH] Scripts en série & pb de path


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR