Hvad er forskelligt mellem “ < < -EOF ” og “ < < EOF ” i bash-script? [duplikat]

Dette spørgsmål har allerede svar her :

Kommentarer

Svar

<<-EOF ignorerer ledende faner i din heredoc, mens <<EOF ikke gør det. Således:

cat <<EOF Line 1 Line 2 EOF 

vil producere

 Line 1 Line 2 

mens

cat <<-EOF Line 1 Line 2 EOF 

producerer

Line 1 Line 2 

Svar

Hvis du bruger <<-EOF, anbefaler jeg mandsiden til Bourne Shell:

Hvis bindestreg (() dog tilføjes til < <:

  1. ledende faner fjernes fra ord, før shell-input læses (men efter parameter- og kommandosubstitution udføres på ord);

  2. de forreste faner fjernes fra shell-input, når det læses, og før hver linje sammenlignes med ord og

  3. shell-input læses op til den første linje, der bogstaveligt talt matcher det resulterende ord eller til en EOF.

<<- tillader indrykning af indholdet af her dokument for bedre læsbarhed.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *