나는 그것이 그 주장을지지하지 않는 이유를 말할 수 없다. 나는 내 리눅스 박스에서만 이것을 얻는다 :
$ /bin/echo --help
Usage: /bin/echo [SHORT-OPTION]... [STRING]...
or: /bin/echo LONG-OPTION
Echo the STRING(s) to standard output.
-n do not output the trailing newline
-e enable interpretation of backslash escapes
-E disable interpretation of backslash escapes (default)
--help display this help and exit
--version output version information and exit
If -e is in effect, the following sequences are recognized:
*emphasized text*
\0NNN the character whose ASCII code is NNN (octal)
\\ backslash
\a alert (BEL)
\b backspace
\c produce no further output
\f form feed
\n new line
\r carriage return
\t horizontal tab
\v vertical tab
NOTE: your shell may have its own version of echo, which usually supersedes
the version described here. Please refer to your shell's documentation
for details about the options it supports.
Report echo bugs to bug-coreutils@gnu.org
GNU coreutils home page: <http://www.gnu.org/software/coreutils/>
General help using GNU software: <http://www.gnu.org/gethelp/>
Report echo translation bugs to <http://translationproject.org/team/>
- 이것은
\e
탈출을 언급하지 않습니다
- 그것은 그것이
/bin/echo
gnu coreutils에서 온 것이라고 말합니다 . Apple이 유닉스 시스템 구성 요소의 소스를 수시로 변경함에 따라 (예 : zsh에서 bash로 이동) /bin/echo
Leopard와 Snow Leopard간에 변경이 있는지 확인하십시오 . gnu 인 경우 gnu.org의 사람들에게 해당 시퀀스를 포함하지 않는 이유를 물어볼 수 있습니다.
해결 방법 (더 흥미로운) :을 사용하지 /bin/echo
않지만 bash의 내장 기능 echo
은 Linux 상자에서 작동합니다. 그들이 내장 에코 (또는 더 모호한 것)없이 bash로 변경했다면, 쉘의 널리 알려진 기능 (적어도 bash 및 zsh에서 작동)을 시도 할 수도 있습니다.
$ echo $'\e[34m''COLORS'
이것은 bash 맨 페이지의 일치하는 부분입니다.
Words of the form $'string' are treated specially. The word expands to string, with
backslash-escaped characters replaced as specified by the ANSI C standard. Backslash
escape sequences, if present, are decoded as follows:
\a alert (bell)
\b backspace
\e an escape character
\f form feed
\n new line
\r carriage return
\t horizontal tab
\v vertical tab
\\ backslash
\' single quote
\nnn the eight-bit character whose value is the octal value nnn (one to three
digits)
\xHH the eight-bit character whose value is the hexadecimal value HH (one or
two hex digits)
\cx a control-x character
The expanded result is single-quoted, as if the dollar sign had not been present.
A double-quoted string preceded by a dollar sign ($) will cause the string to be trans‐
lated according to the current locale. If the current locale is C or POSIX, the dollar
sign is ignored. If the string is translated and replaced, the replacement is double-
quoted.