Print a multi-line string in Bash

David Y.

The Problem

How can I print a string with multiple lines in Bash?

echo "Hello\nworld"

produces:

Hello\nworld

The Solution

On some systems, echo includes a -e parameter, which will enable escape sequences like \n. So this:

echo -e "Hello\nworld"

should produce:

Hello world

However, not all versions of echo support this flag. A more reliable and portable alternative is to use printf instead of echo:

printf "Hello\nworld"

will produce:

Hello world

You can read more about printf by typing man printf into your terminal.

Join the discussionCome work with us
Share on Twitter
Bookmark this page
Ask a questionImprove this Answer

Related Answers

A better experience for your users. An easier life for your developers.

    TwitterGitHubDribbbleLinkedin
© 2023 • Sentry is a registered Trademark
of Functional Software, Inc.