縮排這裡的檔案

你可以使用製表符縮排此處文件中的文字,你需要使用 <<- 重定向操作符而不是 <<

$ 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

這是非常不愉快的閱讀,並且在更復雜的現實指令碼中變得更糟。