2014-10-18 72 views
0

我該如何解決這個bash終端?爲什麼要'!'突然出現問題,並且需要引號似乎不再需要生成字符串了。我是否有什麼突破?如果是這樣,我該如何重置爲出廠設置?我確定它昨天正常工作-bash:!「:未找到事件

Last login: Sat Oct 18 15:30:48 on ttys001 
Michels-MacBook-Pro:~ michelfrechette$ echo "hello, world!" 
-bash: !": event not found 
Michels-MacBook-Pro:~ michelfrechette$ echo hello, world 
hello, world 
Michels-MacBook-Pro:~ michelfrechette$ echo "hello, world" 
hello, world 

-bash: !": event not found,這是奇怪的。

+0

這也是BashPitfalls#23:http://mywiki.wooledge.org/BashPitfalls#echo_.22Hello_World.21.22 – 2014-10-18 19:55:09

+2

在Bash命令中如何解決錯誤「bash:!d:event not found」的可能重複替代](http://stackoverflow.com/questions/25003162/how-to-address-error-bash-d-event-not-found-in-bash-command-substitution) – tripleee 2014-10-18 20:16:42

回答

8

運行

set +H 

將關閉其全部違規(歷史擴展)功能。在你的~/.bashrc把這是一種常見的做法。

或者,你可以修改histchars變量改變用來觸發歷史擴展字符(默認情況下,!),快速替換(默認情況下,^)和評論(默認情況下,#)。

作爲另一種選擇,使用單引號而不是雙引號避免觸發有問題的shell功能。

+0

如果有時想通過呢? – user2864740 2014-10-18 19:52:27

+2

@ user2864740,...然後學會正確使用readline,並且不再需要它。 :) – 2014-10-18 19:55:37