Bash 限制字符串

示例

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

删除前导标签(但不删除内部标签)。