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「 –