4

这个stackoverflow问题的答案在Linux shell中如何处理多行字符串的每一行?提到这$'\n'是一种特殊的语法“并非在每个 shell 中都可用”。

我想知道语法是什么意思?

谢谢你。

4

1 回答 1

10

请参阅手册页的QUOTING部分: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:

...
              \n     new line
...

   The  expanded result is single-quoted, as if the dollar sign had not been
   present.

此语法不是标准 Unix Bourne shell 的一部分。它可能是特定于 bash 的,尽管我没有四处查看其他 shell 是否支持它。

于 2012-12-18T03:38:05.050 回答