返回并添加新行,而不在 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" {} ;
$>

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

例如:

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

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

您可以使用 ctrlc 来"取消"您键入的命令。

我在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$ 

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

ctrl u 会给你一个新行开始。您可以使用 ctrly 继续使用之前键入的旧命令

相关内容

  • 没有找到相关文章

最新更新