Linux 终端:如何在没有回车的情况下添加换行符 return?
Linux terminal: how to add a newline without a carriage return?
在 Linux 终端中,如何在不发出回车 return/issuing 命令的情况下添加换行符(换行符?)?
例如,在我的例子中,我想在 git 提交注释中添加几行,如下所示:
$ git commit -m "1. Removed comment blocks
2. updated .gitignore
3. added goto statement to hander
--Miklas"
如何在不实际输入命令的情况下为多行注释添加这些换行符?
我用谷歌搜索并尝试了很多方法(shift+return、alt+return、ctrl+return.. 等),但没有成功。 Tyvm 基思:^)
Shell 通常支持多行连续命令。如果shell“检测到”前面的命令不“完整”并且您键入回车,它会打印PS2
并让您继续输入命令。默认 PS2="> "
.
# I type:
# git commit -m "message<enter><enter>description"<enter>
$ git commit -m "message
>
> description"
no changes added to commit
它也适用于 shell 运算符,例如 for
、while
、if
、case
:
$ for i in 1 2 3
> do
> echo $i
> done
1
2
3
我找到了一个显示该行为的 youtube video。
您也可以在 bash 中使用 C-ish 引用:
git commit -m $'message\n\ndescription\n'
我有时使用进程替换 printf
:
git commit -m "$(printf "%s\n" "message" "" "description")"
最后你可以输入:
git commit
应该打开一个完整的文件编辑器,默认情况下 vim
。在该编辑器中键入你想要的多行消息,保存并退出编辑器,文件内容将作为提交消息。
在 Linux 终端中,如何在不发出回车 return/issuing 命令的情况下添加换行符(换行符?)?
例如,在我的例子中,我想在 git 提交注释中添加几行,如下所示:
$ git commit -m "1. Removed comment blocks
2. updated .gitignore
3. added goto statement to hander
--Miklas"
如何在不实际输入命令的情况下为多行注释添加这些换行符?
我用谷歌搜索并尝试了很多方法(shift+return、alt+return、ctrl+return.. 等),但没有成功。 Tyvm 基思:^)
Shell 通常支持多行连续命令。如果shell“检测到”前面的命令不“完整”并且您键入回车,它会打印PS2
并让您继续输入命令。默认 PS2="> "
.
# I type:
# git commit -m "message<enter><enter>description"<enter>
$ git commit -m "message
>
> description"
no changes added to commit
它也适用于 shell 运算符,例如 for
、while
、if
、case
:
$ for i in 1 2 3
> do
> echo $i
> done
1
2
3
我找到了一个显示该行为的 youtube video。
您也可以在 bash 中使用 C-ish 引用:
git commit -m $'message\n\ndescription\n'
我有时使用进程替换 printf
:
git commit -m "$(printf "%s\n" "message" "" "description")"
最后你可以输入:
git commit
应该打开一个完整的文件编辑器,默认情况下 vim
。在该编辑器中键入你想要的多行消息,保存并退出编辑器,文件内容将作为提交消息。