echo(1)

echo1

Write arguments to the standard output

Usage

echo [-n] [string ...]

Overview

The echo utility writes any specified operands, separated by single blank (‘ ’) characters and followed by a newline (‘\n’) character, to the standard output.

The following option is available:

-n

Do not print the trailing newline character.

The end-of-options marker -- is not recognized and written literally.

The newline may also be suppressed by appending ‘\c’ to the end of the string, as is done by iBCS2 compatible systems. Note that the -n option as well as the effect of ‘\c’ are implementation-defined in IEEE Std 1003.1-2001 (“POSIX.1”) as amended by Cor. 1-2002. For portability, echo should only be used if the first argument does not start with a hyphen (‘-’) and does not contain any backslashes (‘\’). If this is not sufficient, printf(1) should be used.

Most shells provide a builtin echo command which tends to differ from this utility in the treatment of options and backslashes. Consult the builtin(1) manual page.

Exit status

The echo utility exits 0 on success, and >0 if an error occurs.

Examples

Special treatment of options and backslashes:

$ /bin/echo "-hello\tworld"
-hello world

Avoid new line character:

$ /bin/echo -n hello;/bin/echo world
helloworld

Or to achieve the same result:

$ /bin/echo "hello\c";/bin/echo world
helloworld

Caveats

The echo command behaves differently with regards to the built-in echo shell command in a number of ways including escaped characters handling. It also differs in behavior between different systems hence complicating writing portable scripts. It is advised to use the printf(1) command to avoid these shortcomings.

Releases

87 releases since FreeBSD 2.0.5-RELEASE; the text changed 49 times.

  1. 2.0.5
  2. 2.1.5–2.1.7.1
  3. 2.2.2–2.2.6
  4. 2.2.7–2.2.8
  5. 2.2.9
  6. 3.0–3.1
  7. 3.2
  8. 3.3–3.4
  9. 3.5–3.5.1
  10. 4.0–4.2
  11. 4.3
  12. 4.4–4.8
  13. 4.9–4.11
  14. 5.0
  15. 5.1–5.2.1
  16. 5.3–5.5
  17. 6.0–6.3
  18. 6.4
  19. 7.0
  20. 7.1
  21. 7.2
  22. 7.3
  23. 7.4
  24. 8.0
  25. 8.1
  26. 8.2
  27. 8.3
  28. 8.4
  29. 9.0
  30. 9.1
  31. 9.2
  32. 9.3
  33. 10.0
  34. 10.1
  35. 10.2
  36. 10.3
  37. 10.4
  38. 11.0
  39. 11.1
  40. 11.2
  41. 11.3
  42. 11.4
  43. 12.0
  44. 12.1
  45. 12.2
  46. 12.3
  47. 12.4
  48. 13.0–13.2
  49. 13.3–14.5
  50. 15.0–16.0

Standards

The echo utility conforms to IEEE Std 1003.1-2001 (“POSIX.1”) as amended by Cor. 1-2002.

History

The echo command appeared in Version 2 AT&T UNIX.

From base 16.0-CURRENT-20261027-61c70dc16a79 in FreeBSD 16.0-CURRENT (2026-10-27). Parsed by carta from the page's mdoc source.