Heredoc使用limitstring确定何时停止使用输入。终止限制字符串必须
在一行的开头。
是该行上的唯一文本注意:如果使用<<- limitstring,可以在制表符前面加上前缀\t
正确:
cat <<limitstring line 1 line 2 limitstring
这将输出:
line 1 line 2
错误使用:
cat <<limitstring line 1 line 2 limitstring
由于limitstring最后一行并不完全在该行的开头,因此外壳程序将继续等待进一步的输入,直到它看到以开头的行limitstring且不包含任何其他内容。只有这样,它才会停止等待输入,并继续将此处文档传递给cat命令。
请注意,当在初始限制字符串前面加上连字符作为前缀时,该行开头的所有制表符都会在解析之前被删除,因此数据和限制字符串可以用制表符缩进(以便于在shell脚本中阅读)。
cat <<-limitstring line 1 has a tab each before the words line and has line 2 has two leading tabs limitstring
将产生
line 1 has a tab each before the words line and has line 2 has two leading tabs
删除前导标签(但不删除内部标签)。