IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Java et shell


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 196
    Par défaut Java et shell
    Bonjour

    Afin d'éviter à l'utilisateur d'avoir à taper tout l'appel à Java, j'ai fait un petit script shell qui se résume à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Script console.sh
    
    java -cp bin/log4j.jar:bin/aceServer.jar:bin/mysqlConnector.jar:bin/args4j.jar ServerConsole $*
    Et donc il suffit à l'utilisateur de taper console (les arguments)

    Notez le $* pour que les arguments du script aille au java. Mon problème c'est que certains de ces arguments ont des quotes, comme par exemple
    -s "-p 8246 -ip 172.26.172.206"
    Et ce sympathique script me les fait sauter, ce qui est bien sur génant.


    Donc quelqu'un connait il un truc pour éviter cette disparition des " ' ? Si il y a une façon simple de générer un .bin ou quequechose dans ce gout là qui ferait un boulot équivalent, je prend aussi.

    Merci d'avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut,

    Pour bien garder tes arguments il faut pas passer $* mais "$@". Ceci dit ensuite les quotes servent à grouper des arguments avec des espaces non ? il faut surement que l'utilisateur le déspécialise avec \" il me semble. Mais passer "$@" est déjà une meilleure solution qui va t'éviter bien des problèmes si tu as des espaces dans tes options etc etc

    A plus

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 196
    Par défaut
    Justement, j'aimerai que l'utilisateur n'ai pas à bidouiller quoi que ce soit.

    Le but, c'est qu'il passe la commande
    ace_server -s "-p 8246 -ip 192.164.0.2" start

    Et que java recoive -s "-p 8246 -ip 192.164.0.2" start et non -s -p 8246 -ip 192.164.0.2 start comme c'est le cas si je passe $*, $@ ou autre.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    196
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 196
    Par défaut
    Autant pour moi, ça marche avec "$@". Mais comme je testai avec echo "$@" le echo faisait sauter les quotes, lui.

    2 heures que j'y suis, pour au final une solution aussi simple...

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Programme Java, script shell
    Par chercheur111 dans le forum Général Java
    Réponses: 7
    Dernier message: 07/05/2012, 12h01
  2. execute une commande shell en java
    Par freakfm dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 07/10/2006, 17h03
  3. [shell] Execution script sql et JAVA
    Par RR instinct dans le forum Langage
    Réponses: 7
    Dernier message: 26/09/2006, 11h08
  4. [Système][Process] Scripts shell à partir d'une appli java
    Par mickbzh dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 22/07/2005, 15h40
  5. [Shell]Détecter la version de java dans un script
    Par sc_wizard29 dans le forum Général Java
    Réponses: 4
    Dernier message: 01/07/2005, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo