The - option to mark a here document limit string (<<-LimitString) will suppress leading tabs (but not spaces) in the output.
我想知道为什么有人在使用“此处”方法处理命令时想要删除前导选项卡。是关于输出的可读性,还是关于清理输出(如果我们想将其传递给其他东西)?
答案1
这是关于源代码的可读性。使用<<-
,您可以编写:
foo() {
cat <<-EOF
hello
EOF
echo do something else
}
代替
foo() {
cat <<-EOF
hello
EOF
echo do something else
}
给出更符合逻辑的缩进。
(请注意,SE 在帖子的渲染视图中将制表符显示为空格,因此您必须想象四个空格的块中有制表符。或者复制并粘贴从源码来看, 如果你喜欢;它应该给内容带来更少的破坏。)
我认为短语“限制字符串”指的是此处文档的结束分隔符,这是您总是拥有的东西。额外更改的是选项卡的处理-
。另外,<<<
是非标准的此处字符串,而不是此处文档。
。