Category: 

What Is a Here Document?

Article Details
  • Written By: Eugene P.
  • Edited By: Angela B.
  • Last Modified Date: 04 September 2016
  • Copyright Protected:
    2003-2016
    Conjecture Corporation
  • Print this Article
Free Widgets for your Site/Blog
The U.S. Coast Guard led the evacuation of more than 500,000 people from Lower Manhattan on 11 September 2001.  more...

September 27 ,  1940 :  The World War II Axis powers formed with the signing of the Tripartite Pact.  more...

In relation to computers and computer programming, a here document is a list of text used to define input to be passed to a program through the use of a special operator so exceptionally long blocks of commands or text can be passed more easily. "Here document", or "heredoc", is more of a general term because the exact implementation of how a here document operates and what it can contain will vary from one operating system, application or programming language to the next. Despite what the name implies, a here document is not usually a separate file, but instead is a block of text in a script or somehow typed or inserted directly on the end of a program command. The main use for a here document comes when programs are executed through a script or batch file from the command line, where the heredoc provides either a list of instructions for a program to execute or input for the program to process. Depending on many factors, a here document can be a simple list of words or it can include complex variables or programming code that the operating system or target application can decipher.

Ad

In the most basic terms, a here document is just a list of text that includes formatting characters such as tabs, carriage returns and line breaks. It is a convenient way to pass arguments to a program that is being executed from the command line, especially if a wrapper file such as a script or batch file is used. The text contained in a heredoc is sent to the executing program as if it were being typed in by the user exactly as it appears. This allows a single heredoc to be used over and over again to give a program the same input so it can perform the same tasks repeatedly without requiring the user to actually re-input everything manually.

One example of how a here document works can be seen with a simple command line sendmail program that sends email. When executed, the sendmail program first asks the user to enter the destination email address; it then asks for the subject of the email and, finally, the text of the email. If executed from the command line, the user would respond to each prompt by typing in the information, hitting the return key and waiting for the program to respond. When a heredoc is used in a wrapper file, all the information to be given to the sendmail program can be typed out in advance, including the return key presses, and saved in the wrapper file. In this way, when the sendmail program is executed with the heredoc, the input automatically is fed to the program and an email is sent without requiring the user to do anything more.

Ad

You might also Like

Recommended

Discuss this Article

Post your comments

Post Anonymously

Login

username
password
forgot password?

Register

username
password
confirm
email