2014-03-31 116 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