縮排這裡的檔案
你可以使用製表符縮排此處文件中的文字,你需要使用 <<-
重定向操作符而不是 <<
:
$ 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
這是非常不愉快的閱讀,並且在更復雜的現實指令碼中變得更糟。