所以我有一个Java文件,需要运行以下字符串。
java --classpath=$CLASSPATH:/path/to/jradius-client.jar net.sourceforge.jradiusclient.TestRadiusClient hostname authport acctport shared-secret username password
我需要做的是编写一个脚本,该脚本使用某个textFile.txt
中与空格分隔的单词,并使用每个单词代替shared-secret
。如果成功,请打印单词。
我到现在所拥有的是:
#!/bin/bash
java --classpath=$CLASSPATH:/path/to/jradius-client.jar net.sourceforge.jradiusclient.TestRadiusClient "val" 1812 1813 shared-secret username password
exit $?
我想要的是这样的东西(在Java中像伪代码,我没有bash经验:():
String s = Words From Text File As String
String[] words = s.split("\\W+");
for(word : words){
try and run The JAva .jar File With Params X, Y, word, Z
success? print word
}
我怎样才能做到这一点? 感谢。
答案 0 :(得分:1)
从https://stackoverflow.com/a/7721320/2193968
获取循环的想法for word in $(<textFile.txt)
do
java --classpath=$CLASSPATH:/path/to/jradius-client.jar net.sourceforge.jradiusclient.TestRadiusClient hostname authport acctport $word username password
done
这将读取textfile.txt中每一行的每个单词并将其放入word
,然后运行命令将$word
替换为从文件中读取的值。