私はこのトピックを検索し、すべての結果について話しました<<EOF
。ただし、使用されているスクリプトは表示されますが、<<-EOF
インターネット検索ではどこにも見つかりません。では、<<-EOF
bashスクリプト間の違いは何ですか?<<EOF
ありがとうございます。
答え1
<<-EOF
区切られた文書の前のタブは無視されますが、<<EOF
そうではありません。したがって:
cat <<EOF
Line 1
Line 2
EOF
生産する
Line 1
Line 2
しかし、
cat <<-EOF
Line 1
Line 2
EOF
生産する
Line 1
Line 2
答え2
を使用している場合は、<<-EOF
Bourne Shellのマニュアルページをお勧めします。
ただし、<<にハイフン(-)が追加された場合:
シェル入力を読む前に、単語から先行タブ文字を削除します(ただし、引数とコマンドの置換が単語で行われた後)。
前のタブ文字は、シェル入力を読み取るときと各行を単語と比較する前に削除されます。
シェル入力は、文字通り結果ワードに一致する最初の行またはEOFとして読み込まれます。
これ<<-
により、ここにある文書の内容をインデントして読みやすさを向上させることができます。