2012-11-17 31 views
5

至少在bash模式中,经常使用以下引号替换:$' '例如,${arr[@]/%/$'\n\n\n'}在每个数组“arr”项后打印三个换行符。那些是特殊的引号吗?他们怎么叫?除了bash模式替换之外,他们还在哪里使用?形式$'string'

回答

10

ANSI-C Quoting

词被特殊处理。该字扩展为字符串,反斜杠转义字符被替换为ANSI C标准指定的字符。


例如:

$'hello\nworld' 

你会得到11字符在中间换行符


echo -e 'hello\nworld' 
echo $'hello\nworld' 

他们给你相同的结果。