The - option to mark a here document limit string (<<-LimitString) will suppress leading tabs (but not spaces) in the output.
「here」メソッドを使用してコマンドを処理するときに、誰かが先行タブを削除したいのはなぜですか?出力の読みやすさに関するものですか、それとも出力を別のものに渡したい場合は、出力のクリーンアップに関するものですか?
答え1
ソースコードの読みやすさについてです。を使用すると、<<-
次のように書くことができます。
foo() {
cat <<-EOF
hello
EOF
echo do something else
}
変える
foo() {
cat <<-EOF
hello
EOF
echo do something else
}
より論理的なインデントを提供します。
(SEは投稿のレンダリングされたビューでタブを空白として表示するため、4つの空白ブロックにタブがあると想像する必要があります。)またはコピーして貼り付けます。ソースコードから、必要に応じてコンテンツの混乱を減らす必要があります。 )
私の考えでは、「制限文字列」というフレーズは、ここにある文書の閉じ区切り文字を指しているようですが、これは常に持っているものです。追加の変更はタブ処理です-
。また、<<<
here文書ではなく非標準のhere文字列です。
。