2014-03-31 49 views
2
[Running Java 1.7.0_51 on MacOSX] 

嘿,-bash:!“:事件试图运行Java程序

这是令人沮丧的我的时候没有发现,因为我刚刚成功完成一件工作我应该完成的。但是Java的我得到了一些错误,当我运行的代码,例如,
如果我编译它,使用:java MyCode "Hello World!"

我得到的错误:-bash: !": event not found

不过,如果我使用单引号像'Hello World!',程序运行w没有任何问题,或者如果感叹号仍未结束,则仍然使用双引号。

我知道这可能不是一个直接的编码问题,但我不太确定,所以我希望有人在运行类似的东西时遇到问题,知道这一点。

谢谢!

+0

问题是什么? –

+1

@fge - 错误的猜测。他遇到的是bash shell的历史扩展功能......当从bash shell提示符运行'java'时。这根本不是Java问题。他会通过运行'echo“Hello World!”# –

+0

得到同样的错误信息。你可以使用'set + H'关闭历史扩展,使用'set -H'重新启用它。 –

回答

1

从运行BASH代码正确的做法的确是用单引号:

java MyCode 'Hello World!' 

在双引号外壳扩展引用的字符串,并尝试以下!马克从历史中找到一个事件。

+0

好的。这只是一项评估工作,所以我担心这是否是一个问题,我会得到零。我想他们会知道这件事吗? 谢谢! – zahz

+0

@zahz - 如果他们不这样,那么每个人都会得到零。你觉得这可能吗? –

+0

对不起,我的新手大声笑。我真的不知道这一点。谢谢你们,将标记为最佳答案。 – zahz