2017-10-11 2 views
1

Je dois écrire deux scripts, l'un pour compiler mon code et l'autre pour l'exécuter. Je parviens à compiler le code avec ce script:Utiliser les paramètres du script shell dans mon code Java

#!/bin/bash 
javac SimilaridadeP.java 

Et j'ai pu l'exécuter en utilisant ce script:

#!/bin/bash 
java SimilaridadeP 

Le problème est que je dois exécuter mon second script shell suivant cette commande :

./execute.sh input output 

Où entrée et sortie sont les noms des fichiers que je vais utiliser dans mon code Java. Le problème auquel je fais face en ce moment est que je ne sais pas comment je peux utiliser ces deux noms dans mon code Java.

Jusqu'à présent, je réussi à obtenir les deux noms en utilisant ce code:

#!/bin/bash 
in=$1 
out=$2 
java SimilaridadeP 

Mais depuis « SimilaridadeP » est le nom de mon fichier java et il ne peut pas être appelé comme une méthode avec des paramètres que je suis un peu de perdu.

Répondre

3

Si votre code Java est en train de lire déjà les paramètres de ligne de commande, il est juste une question de changer le bash de cette façon:

#!/bin/bash 
java SimilaridadeP "$1" "$2" 
+0

Salut , Merci pour la réponse! Donc ce que j'ai dans ma classe Java est quelque chose de similaire à scanf dans C. Mon principal doute est de savoir comment lire les paramètres de la ligne de commande. –

+0

Je n'ai ajouté aucune validation, mais voici les bases: public static void principal (String [] args) {String parm1 = args [0]; Chaîne parm2 = args [1]; .....} – imerso

+0

Merci beaucoup! Cela a très bien fonctionné. –

2

Cela fonctionne avec un nombre arbitraire d'arguments:

#!/bin/bash 
java SimilaridadeP "[email protected]"