LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1169|回复: 2

奇怪的赋值

[复制链接]
发表于 2009-8-5 09:37:02 | 显示全部楼层 |阅读模式
echo {1..3},输出1 2 3。shell对{1..3}进行扩展。
但是a={1..3},a的值就是{1..3},shell没有对{1..3}进行扩展,为何?
发表于 2009-8-6 11:16:15 | 显示全部楼层
a怎么能一次赋三个值?
回复 支持 反对

使用道具 举报

发表于 2009-8-21 00:54:38 | 显示全部楼层
man bash, 最后一条
简单命令扩展("SIMPLE COMMAND EXPANSION")
       当执行一个简单命令时,shell 进行下列扩展,赋值和重定向,从左到右。

       1.     解释器标记为与变量赋值 (在命令名之前的) 和重定向有关的词被保存等待随后处理
              。

       2.     并非变量赋值或重定向的词被扩展。如果扩展后仍然有词保留下来,第一个词被作为
              命令名,其余词是参数。

       3.     重定向按照上面 REDIRECTION 中讲到的规则进行。

       4.     每个变量赋值中 = 之后的文本在赋予变量之前要经过波浪线扩展,参数扩展,命 令
              替换,算术扩展和引用删除。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表