che*_*ner 28
通常,您可以在一行的末尾使用反斜杠,以便命令继续到下一行.但是,有些情况下命令是隐式继续的,即当行以令牌结束而不能合法地终止命令时.在这种情况下,shell知道会有更多内容,并且可以省略反斜杠.一些例子:
# In general
$ echo "foo" \
> "bar"
foo bar
# Pipes
$ echo foo |
> cat
foo
# && and ||
$ echo foo &&
> echo bar
foo
bar
$ false ||
> echo bar
bar
Run Code Online (Sandbox Code Playgroud)
不同但相关的是引号内隐含的延续.在这种情况下,如果没有反斜杠,只需在字符串中添加换行符即可.
$ x="foo
> bar"
$ echo "$x"
foo
bar
Run Code Online (Sandbox Code Playgroud)
使用反斜杠,您再次将逻辑行拆分为多个逻辑行.
$ x="foo\
> bar"
$ echo "$x"
foobar
Run Code Online (Sandbox Code Playgroud)
Jin*_*Yao 14
\做的工作.@Guillaume的回答和@ George的评论清楚地回答了这个问题.在这里我解释为什么The backslash has to be the very last character before the end of line character.考虑这个命令:
mysql -uroot \ -hlocalhost
如果后面有空格\,则行继续不起作用.原因是\ 删除了下一个字符的特殊含义,即不是不可见换行符的空格.换行符字符\位于此示例中不在的空格之后.
| 归档时间: |
|
| 查看次数: |
107323 次 |
| 最近记录: |