linux – 在字符串外面加上$字符的Bash echo

前端之家收集整理的这篇文章主要介绍了linux – 在字符串外面加上$字符的Bash echo前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
任何人都可以解释有什么区别
echo $"Starting $CMD"

echo "String $CMD"

他们似乎看起来一样.

解决方法

查看bash手册页的QUOTING部分:

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.

请注意以下说明双引号字符串前面带$($“string”):

A double-quoted string preceded by a dollar sign ($) will cause the string to be translated 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.

猜你在找的Linux相关文章