更清楚地替代" Here Documents"

时间:2015-08-11 01:07:05

标签: bash heredoc

在bash脚本中创建文件example时,您可以使用cathere document EOF作为分隔符:

cat <<EOF > example
1234
ABCD
EFGH
EOF

对于一个bash新手来说这看起来很复杂,那么编写这段代码会有更清晰的版本吗?

1 个答案:

答案 0 :(得分:3)

来自man bash:

  

如果重定向运算符为<<-,则为所有前导TAB字符   从输入行和包含分隔符的行中删除。这个   允许here脚本中的文档以自然方式缩进   方式。

所以这看起来更干净:

cat <<-EOF > example
    1234
    ABCD
    EFGH
EOF

每行前面的空格是TAB!