为什么这个Java代码打印两个参数?【JAVA教程】

!
也想出现在这里? 联系我们
信息

为什么这个Java代码打印两个参数?,第1张

概述为什么这个Java代码打印两个参数

下面的Java代码打印两个参数,当我通过!clearinput如下所示。

class Test{ public static voID main(final String… arguments){ for(String argument : arguments){ System.out.println(argument); } } }

输出:

$ java Test !clear java Test clear clear

UPDATE

使用任何的linux命令clear地方产生相同的结果。

getenv(“cc”)返回NulL,为什么?

在Jenkins用户下的windows Git中指定SSH证书/密钥

如何启动一个没有任何用户configuration的shell?

在bash脚本中执行命令,直到输出超过一定值

search并replacelinux目录的所有文件中的文本

$ java Test !pwd java Test pwd pwd $ java Test !ls java Test ls ls

我知道这与历史扩张有关,我可以逃避! 性格来解决这个问题。

然而,我很好奇知道这个代码打印上面两行作为输出的确切原因。 有人可以解释吗?

回答terminal查询并自动login到ssh

svn工作副本快速recursiongrepPing

Cron和Crontab之间的区别?

编写脚本以使用预定义的密码创build多个用户

如何检查与bash脚本中的目录中是否存在匹配正则Expression式的文件?

你正在一个Unix / linux的shell中工作,可能是bash 。 那! 字符是Unix shell中的一个特殊字符,因此你的命令被认为是一个历史扩展。

在历史扩展中,通常发生的事情是shell向您显示命令扩展到的内容。 如果您的历史记录clear了命令,那么 !clear的扩展就会很clear ,因此扩展的命令将会被java Test clear 。 然后shell 运行命令。 Java运行,只看到一个参数 – clear ,这就是它打印。

如果相反,你运行

java Test \’!clear\’

(用单引号!)

爪哇将得到的论据!clear ,没有历史扩张。

如果你使用了一个不在shell命令历史记录中的单词,你会得到一个“event not found error”。 如果你使用一个单词,在你的shell历史中,启动一个带有参数的命令,整个命令及其所有参数将被替换。 这是bash一部分而不是Java。

总结

以上是内存溢出为你收集整理的为什么这个Java代码打印两个参数?全部内容,希望文章能够帮你解决为什么这个Java代码打印两个参数?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞51 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容