2011-10-18 2 views
3

Je voulais savoir s'il existait un moyen, à partir d'un script sh, d'entrer une valeur dans un programme Java. Par exemple, j'ai un program.jar. Je fais java -jar program.jar et sorties:Valeur d'entrée dans le programme Java du script shell

Enter your name: 

Serait-il possible d'écrire un script sh comme ça:

java -jar program 
echo name 

name va être l'entrée du programme?

Répondre

5

Pour écho des données dans votre programme Java à partir du shell faire quelque chose comme ceci:

java -jar program<< EOF 
<your-data> 
EOF 
+0

Merci, exactement ce que je cherchais. – talnicolas

1

Utiliser des tuyaux:

echo name | java -jar program 
+0

N'est-ce pas «nom de chat»? Sûrement si l'entrée était littéralement "nom" alors l'OP aurait déjà compris écrire "java -jar nom du programme". –

2

En plus de @tcb 's suggestion, vous pouvez également utiliser un tuyau de redirection d'entrée standard < afin de spécifier un fichier qui sera l'entrée du programme:

entrée txt

name 

Et dans le sh:

java -jar program < input.txt

1

Si vous voulez dire l'entrée interactive, expect est toujours l'une des réponses.

+0

pour une entrée compliquée, oui. upvoted. – Offirmo

Questions connexes