2012-12-11 57 views
0

當我在bash中輸入一個長命令後,我決定不出於某種原因執行它。 但我只是想在沒有清除命令的情況下開始一個新行。該命令仍在屏幕上?來人幫幫我?返回並添加一個新行而不執行bash中的當前命令?

#I typed as below: 
$>find -name "filepattern" -exec grep "hello" {} \; 

#I wanted as below without executing the 'find' command. 
$>find -name "filepattern" -exec grep "hello" {} \; 
$> 

回答

3

您可以使用CTRLÇ爲 '取消' 你輸入的命令。

我的測試,在OS X:

bash-3.2$ find -name "filepattern" -exec grep "hello" {} \; <ctrl+c> 
bash-3.2$ 

bash-3.2$ /bin/bash -version 
/bin/bash -version 
GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin12) 
Copyright (C) 2007 Free Software Foundation, Inc. 
bash-3.2$ 
+0

這將清除命令 –

+0

@cebewee這是您使用的版本不以'在OS X上的bash 3.2'? – simont

+0

它適合我!謝謝! –

1

一個臨時解決方案是增加一個「#」添加當前行的開頭把它變成一個註釋。

+0

非常有趣,它很有用。 –

5

一個有用的bash快捷方式是alt註釋掉當前命令。

例如:

$ find -name "filepattern" -exec grep "hello" {} \; <Alt+#> 
$ #find -name "filepattern" -exec grep "hello" {} \; 
$ 

我喜歡這個,因爲它在歷史記錄存儲命令。然後您可以回到它,刪除#並運行它。隨着Ctrl+C你失去了你寫的命令。

+0

Alt-#在我的Bash版本,Ctrl-上沒有做任何事情,但是你描述的是什麼(雖然不可靠,不知道是什麼原因造成的) –

+1

運行'bind -P | grep insert-comment'來查看你的綁定是什麼。我的電腦是'\ M-#',元鍵是'Alt'。 – dogbane

+0

很高興知道。它的「\ e#」適合我。這也映射到我的機器上的Alt-#(或ESC-#)。我的鍵盤佈局有衝突,所以這個問題解決了。我可以用'bind'命令重新綁定這個鍵。 –

2

ctrlu給你一個新的開始。 您可以與您較早前使用CTRL鍵入舊的命令繼續Ÿ

相關問題