0
我写了脚本bash文件,通过它我可以运行java文件并将参数传递给此类,但java文件无法识别此参数。 这个SH文件:参数未通过运行java命令行
for Agentid in `seq 1 3`;
do
gnome-terminal -x sh -c "java -cp target/classes:../../lib/cafe.jar:target/ddspaxos.jar \
paxosdds.PaxosAgent $Agentid ; bash"
done
这个这个类的主要功能:
public static void main(String[] args) throws FileNotFoundException, IOException {
// création de l'agent Paxos
PaxosAgent P = new PaxosAgent();
System.out.println("<<<<<<<<Agent created>>>>>>>>");
System.out.println(args[0]);
if (args.length == 1) {
// Lecture à partir d'un fichier de configuration
AgentId = Integer.parseInt(args[0]);
if (AgentId == 1) {
isLeader = true;
System.out.println("<<<<<<<<i leader>>>>>>>>");
// récuprération des propositions du fichier scénario.txt
InputStream ips = new FileInputStream("scenario.txt");
InputStreamReader ipsr = new InputStreamReader(ips);
BufferedReader br = new BufferedReader(ipsr);
String ligne;
while ((ligne = br.readLine()) != null) {
parseAndExecuteLine(ligne);
}
br.close();
} else {
isLeader = false;
}
}
}
脚本运行三个终端,而且只显示此消息<<<agent created>>>>
和不接收参数值。
尝试将其更改为'if(args.length> = 1)'而不是'== 1'。 – RealSkeptic
我做了但没有改变它没有收到bash脚本传递的参数 –
你可以尝试'gnome-terminal -x sh -c“echo java -cp target/classes:../../ lib/cafe。 jar:target/ddspaxos.jar \ paxosdds.PaxosAgent $ Agentid >> /tmp/walid.tmp“ –