执行man 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
\E an escape character
\f form feed
\n new line
\r carriage return
\t horizontal tab
\v vertical tab
\\ backslash
\' single quote
\" double 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)
格式$'string'会被特殊处理,
$'String' 这种类型会特殊处理,扩展为字符串时,带有反斜线字符,会按照ansi标准转换,如上所示。
输出换行:
[root@kafka1 ~]# echo $'\n'
[root@kafka1 ~]#
编辑脚本test.sh,按行读取命令回显并输出:
#!/bin/bash
old=$IFS
IFS=$'\n'
for i in `/opt/kafka/bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server localhost:9092 --describe --group daemon`
do
echo $i
done
IFS=$old