8

假设我在命令行上键入并执行了一个长 BASH 命令。现在我想把它分开。因此,根据历史记录,我再次收到了很长的命令,但现在我无法让 Enter 插入换行符。你是怎样做的?

4

2 回答 2

16

您可以使用两个快捷方式来做到这ctrl + k一点ctrl + y

echo "some command" && echo "some other long command"

现在将光标移动到某处(在我的示例中,光标由 标记>):

echo "some command" && > echo "some other command"

现在按ctrl + k- 这将剪切光标后的所有内容:

echo "some command" && >

现在输入\(反斜杠)并按enter

echo "some command" && \
>

现在粘贴您之前剪切的部分ctrl + y

echo "some command" && \
echo "some other long command"

编辑:要在长命令中更轻松地移动,您可以使用快捷方式:

  • alt + b- 向后移动一个单词(在 Mac OS X 上ESC + b:)
  • alt + f- 向前移动一个单词(在 Mac OS X 上ESC + f:)

超解决方案

您还可以使用Ctrl-x + Ctrl-e(两个快捷方式,一个接一个)在编辑器中打开当前行。然后像普通文本文件一样编辑它,保存并退出,瞧,编辑的命令将执行。

如果要选择使用哪个编辑器,只需设置EDITOR环境变量即可。

于 2013-10-22T08:16:56.733 回答
0

您可以为脚本创建文本文件。例如:

测试.sh

#!/bin/bash
echo Hello, world!

所以你需要执行这个:

chmod +x test.sh
./test.sh
于 2013-10-22T08:16:33.957 回答