空的 bash 命令行

vob*_*ect 4 linux bash command-line

我正在寻找一种方法来删除当前输入的命令行,而不会在Backspace键上浪费几秒钟。

例如,我滚动了 bash 历史记录并有一个很长的命令行,当我按下时会执行Enter

~$ aptitude search openssl | grep dev
Run Code Online (Sandbox Code Playgroud)

但现在我决定不想执行这个命令。我可以在不删除整行的情况下快速获得空提示Backspace吗?在 Windows cmd 上,您只需按一下Escape它就消失了。这种行为将是我想要的。

Jan*_*nen 8

Ctrl+U将清空当前行。

这是默认的上最终端的性格和它删除当前行(从光标回到开头)。该stty的命令可用于获取或设置其值。

[dave@hal9000 ~]$ stty -a
speed 38400 baud; rows 23; columns 75; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?;
eol2 = M-^?; swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;
werase = ^W; lnext = ^V; flush = ^O; min = 1; time = 0;
...
[dave@hal9000 ~]$ stty kill ^T # Set it to Ctrl-T
Run Code Online (Sandbox Code Playgroud)

顺便说一句,werase代表单词擦除,因此Ctrl+W擦除光标左侧的单词。