j'ai un simple programme java qui imprime simplement les arguments passésastérisque Échapper en script shell lorsque le programme Java est appelé
public class CmdArgsTest {
public static void main(String[] args) {
for(String arg : args){
System.out.println(arg);
}
}
}
J'invoque ce programme java à partir d'un script shell setupTest.sh
comme celui-ci java CmdArgsTest $*
Lorsque j'appelle setupTest.sh
avec les arguments *
est remplacé par tous les noms de fichiers dans le répertoire.
setupTest.sh -tt oracle -tn test_ora -sqlQuery "select * from myTable"
Même j'échapper *
avec \
mais l'argument est passé est \*
et non *
seul. J'ai également essayé de mettre *
entre guillemets mais cela n'a pas aidé.
Je ne peux pas exécuter le script en tant que java CmdArgsTest "$*"
car alors toute la commande passe une grande chaîne.
Toute aide sera grandement appréciée.
Remerciez, Saurabh