aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtests/echo.test3
-rw-r--r--toys/posix/echo.c5
2 files changed, 6 insertions, 2 deletions
diff --git a/tests/echo.test b/tests/echo.test
index e2035561..fa53559a 100755
--- a/tests/echo.test
+++ b/tests/echo.test
@@ -34,3 +34,6 @@ testcmd "-e hexadecimal values" \
"S4 0 XYZ ?\n" "" ""
testcmd "-e \p" "-e '\\p'" "\\p\n" "" ""
+
+# http://austingroupbugs.net/view.php?id=1222 added -E
+testcmd "-En" "-En 'one\ntwo'" 'one\\ntwo' "" ""
diff --git a/toys/posix/echo.c b/toys/posix/echo.c
index 63eb1981..11a68a9b 100644
--- a/toys/posix/echo.c
+++ b/toys/posix/echo.c
@@ -9,13 +9,13 @@
* We also honor -- to _stop_ option parsing (bash doesn't, we go with
* consistency over compatibility here).
-USE_ECHO(NEWTOY(echo, "^?en", TOYFLAG_BIN))
+USE_ECHO(NEWTOY(echo, "^?Een", TOYFLAG_BIN))
config ECHO
bool "echo"
default y
help
- usage: echo [-ne] [args...]
+ usage: echo [-neE] [args...]
Write each argument to stdout, with one space between each, followed
by a newline.
@@ -33,6 +33,7 @@ config ECHO
\t Horizontal tab
\v Vertical tab
\xHH Hexadecimal values (1 to 2 digits)
+ -E Print escape sequences literally (default)
*/
#define FOR_echo