Answers:
通常,您可以在行尾使用反斜杠,以使命令继续到下一行。但是,在某些情况下,命令会隐式地继续执行,即当行以令牌结尾时,无法合法终止命令。在这种情况下,shell知道会有更多消息出现,因此可以省略反斜杠。一些例子:
# In general
$ echo "foo" \
> "bar"
foo bar
# Pipes
$ echo foo |
> cat
foo
# && and ||
$ echo foo &&
> echo bar
foo
bar
$ false ||
> echo bar
bar
引号内的隐式连续符是不同但相关的。在这种情况下,没有反斜杠,您只需在字符串中添加换行符即可。
$ x="foo
> bar"
$ echo "$x"
foo
bar
使用反斜杠,您再次将逻辑线拆分为多条逻辑线。
$ x="foo\
> bar"
$ echo "$x"
foobar
[[
- ]]
条件下省略反斜杠,但在其他情况下则不能,反而我想弄清楚规则。