21

Is it possible to write a heredoc within another heredoc ?

ssh -T -q yxz@server1 <<-"END_TEXT"
.
.
    ssh -T -q abc@server2 <<-"SUB_TEXT"
    .
    .
    SUB_TEXT
.
.
END_TEXT
royhowie
  • 11,075
  • 14
  • 50
  • 67
kaustav datta
  • 687
  • 2
  • 11
  • 31

1 Answers1

23

Yes

However, the nested heredoc terminator will only be recognized when indented if the indentation is done with actual tabs. Spaces won't work.

So you probably want to do something more like:

ssh s1 << \eof1
  ssh s2 << \eof2
    hostname
eof2
eof1
DigitalRoss
  • 143,651
  • 25
  • 248
  • 329