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