From c9b384da92fb7e86dbb5bad82392c76139e30948 Mon Sep 17 00:00:00 2001 From: TheFightingCatfish Date: Wed, 25 Aug 2021 23:57:02 +0800 Subject: echo: Support octal, hexadecimal and unicode escape sequences --- Base/usr/share/man/man1/echo.md | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) (limited to 'Base/usr/share') diff --git a/Base/usr/share/man/man1/echo.md b/Base/usr/share/man/man1/echo.md index ac891ed8c1..a66411c0ae 100644 --- a/Base/usr/share/man/man1/echo.md +++ b/Base/usr/share/man/man1/echo.md @@ -5,21 +5,51 @@ echo - print the given text ## Synopsis ```**sh -$ echo [-n] text... +$ echo [-ne] [text...] ``` ## Description -Print the given *text*, which is passed as argv, to the standard output, -separating arguments with a space character. +Print the given `text` to the standard output. If multiple `text`s are provided, they will be joined with a space character. If no `text` is provided, an empty line will be printed. + +Character escape sequences and their meanings are as follows: + +`\\a` - `` + +`\\b` - `` + +`\\c` - Suppress the output of all remaining characters, including the trailing newline. + +`\\e` - The escape character (`\\033`). + +`\\f` - `` + +`\\n` - `` + +`\\r` - `` + +`\\t` - `` + +`\\v` - `` + +`\\\\` - The backslash character (`\\`). + +`\\0ooo` - A byte whose value is a zero, one, two, or three-digit octal number. + +`\\xHH` - A byte whose value is a two-digit hexadecimal number. + +`\\uHHHH` - An unicode code point whose value is a four-digit hexadecimal number. ## Options * `-n`: Do not output a trailing newline +* `-e`: Interpret backslash escapes ## Examples ```sh $ echo hello friends! hello friends! +$ echo -ne '\x68\x65\x6c\x6c\x6f' 'friends\041\n' +hello friends! ``` -- cgit v1.2.3