<åt sidan class = "s-notice s-notice__info js-post-notice mb16" role = "status">
Denna fråga har redan svar här :
Kommentarer
- Se 3.6.6 Här dokument i bash-handboken
Svar
<<-EOF
ignorerar ledande flikar i din heredoc, medan <<EOF
inte gör det. Således:
cat <<EOF Line 1 Line 2 EOF
producerar
Line 1 Line 2
medan
cat <<-EOF Line 1 Line 2 EOF
producerar
Line 1 Line 2
Svar
Om du använder <<-EOF
, rekommenderar jag man-sidan för Bourne Shell:
Om dock bindestrecket (-) läggs till < <:
-
ledande flikar avlägsnas från ord innan skalingången läses (men efter parameter- och kommandosubstitution sker på ord);
-
ledande flikar tas bort från skalinmatningen när den läses och innan varje rad jämförs med ord och
-
skalinmatning läses upp till första raden som bokstavligen matchar det resulterande ordet, eller till en EOF.
Så <<-
gör det möjligt att dra in innehållet i det här dokumentet för bättre läsbarhet.