我想从ubuntu控制台运行参数。
./ myTool -h
我得到的只是“1”的印刷品。
有人可以帮忙吗?谢谢!
public static void main(String[] argv) throws Exception
{
System.out.println("1");
for(int i=0;i<argv.length;i++)
{
if (argv.equals("-h"))
{
System.out.println("-ip target ip address\n");
System.out.println("-t time interval between each scan in milliseconds\n");
System.out.println("-p protocol type [UDP/TCP/ICMP]\n");
System.out.println("-type scan type [full,stealth,fin,ack]\n");
System.out.println("-b bannerGrabber status\n");
}
}
答案 0 :(得分:2)
argv
是一个完整的数组。您要匹配的是具有字符串-h
的数组的整个内容。试着这样做:
public static void main(String[] argv) throws Exception
{
System.out.println("1");
for(int i=0;i<argv.length;i++)
{
if (argv[i].equals("-h"))
{
System.out.println("-ip target ip address\n");
System.out.println("-t time interval between each scan in milliseconds\n");
System.out.println("-p protocol type [UDP/TCP/ICMP]\n");
System.out.println("-type scan type [full,stealth,fin,ack]\n");
System.out.println("-b bannerGrabber status\n");
}
}
}
旁注:This之前的SO帖子也值得一试。
答案 1 :(得分:2)
您错过了if
条件中的数组索引:
argv[i].equals("-h")
答案 2 :(得分:0)
您正在将数组与字符串进行比较。将其更改为:
if (argv[i].equals("-h"))
答案 3 :(得分:0)
您尝试将String []与String进行比较。
尝试改为:
if (argv[i].equals("-h"))