免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2045 | 回复: 6
打印 上一主题 下一主题

$""和$''表示什么意思? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-01-05 17:34 |只看该作者 |倒序浏览
看了一个显示色彩的脚本,里面包含如下的函数:
display_title() {
  echo -en "\\033[${RES_COL}G"
  $SETCOLOR_WARNING
  echo -e $"$1"
  $SETCOLOR_NORMAL
  return 0
}

请问$"$1"表示什么意思呢?并且在sh下还不支持这个表示方法,貌似bash才支持的。

我定义了a=b;b=c
echo $"$a" 得到b
echo $"a" 得到a
在这个地方有没有$""都是一样的啊。

论坛徽章:
0
2 [报告]
发表于 2009-01-05 17:40 |只看该作者
本地化显示

论坛徽章:
0
3 [报告]
发表于 2009-01-05 17:55 |只看该作者
函数的参数function testfunc (1 2 3 4)
1234位置的内容以在函数里面用 $1 $2 $3 $4调用
script 也累死

论坛徽章:
0
4 [报告]
发表于 2009-01-05 18:00 |只看该作者
当我没回 呵呵
也不懂

论坛徽章:
0
5 [报告]
发表于 2009-01-05 18:09 |只看该作者
开始胡乱猜测了
bash首先对于mete 字符 解释有先后顺序的
首先看这个$。   他优先解释  $"ffff"      类似$var   var=“ffff” 因为没有"ffff"这个变量 就解释为空了;然后 对“ 进行解释
出现ffff这个字符了
。。。。
。。。。
然后出现这个结果了~~
纯属胡扯~~

论坛徽章:
0
6 [报告]
发表于 2009-01-05 18:43 |只看该作者
不好意思,第一次没man到,现在man到结果了,这个是shopt的一个选项,可以用shopt -s extquote启用,默认是启用的:

extquote
If set, $'string' and $"string" quoting is performed within  ${parameter}  expansions  enclosed  in  double quotes.  This option is enabled by default.

这句话的意思难道是:把$1的值用双引号给引起来?不引起来又怎么了?
能给个例子不?

论坛徽章:
0
7 [报告]
发表于 2009-01-05 20:51 |只看该作者
原帖由 ttt3278 于 2009-1-5 18:43 发表
不好意思,第一次没man到,现在man到结果了,这个是shopt的一个选项,可以用shopt -s extquote启用,默认是启用的:

extquote
If set, $'string' and $"string" quoting is performed within  ${parameter} ...


原帖由 nlspii 于 2009-1-5 09:59 发表
$"..." 在ksh93和bash下面,是本地化信息用的。
$"..."里面的信息会根据不同的语言设置而显示不同的语言。
这就使文什么lz设置了不同的LANG,会显示中文。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP