缩进这里的文件

你可以使用制表符缩进此处文档中的文本,你需要使用 <<- 重定向操作符而不是 <<

$ cat <<- EOF
    This is some content indented with tabs `\t`.
    You cannot indent with spaces you __have__ to use tabs.
    Bash will remove empty space before these lines.
    __Note__: Be sure to replace spaces with tabs when copying this example.
EOF

This is some content indented with tabs _\t_.
You cannot indent with spaces you __have__ to use tabs.
Bash will remove empty space before these lines.
__Note__: Be sure to replace spaces with tabs when copying this example.

一个实际用例(如 man bash 中所述)是在 shell 脚本中,例如:

if cond; then
    cat <<- EOF
    hello
    there
    EOF
fi

习惯上,在此 if 语句中缩进代码块中的行,以获得更好的可读性。如果没有 <<- 运算符语法,我们将被迫编写上面的代码,如下所示:

if cond; then
    cat << EOF
hello
there
EOF
fi

这是非常不愉快的阅读,并且在更复杂的现实脚本中变得更糟。