返回并添加一个新行而不在bash中执行当前命令?

时间:2012-12-11 12:34:50

标签: bash command

在bash中输入一个long命令后,我决定不再执行它。 但我只想在没有清除命令的情况下开始新的一行。那个命令还在屏幕上?有人帮帮我吗?

#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" {} \;
$>

4 个答案:

答案 0 :(得分:5)

一个有用的bash快捷方式是 Alt 以注释掉当前命令。

例如:

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

我喜欢这个,因为它将命令存储在您的历史记录中。然后,您可以返回到它,删除#并运行它。使用Ctrl+C,您将丢失已编写的命令。

答案 1 :(得分:3)

您可以使用 ctrl c 来“取消”您输入的命令。

我的测试,在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$ 

答案 2 :(得分:2)

ctrl u 为您提供了一个新行。 您可以使用 ctrl y 继续使用之前键入的旧命令

答案 3 :(得分:1)

一个临时解决方案是添加一个'#'添加当前行的开头以将其转换为注释。