免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1611 | 回复: 4

强烈困惑中---看网中人的帖子以及《鸟哥》之后 [复制链接]

论坛徽章:
0
发表于 2012-05-25 16:27 |显示全部楼层
都是关于shell的
“嗯... 好吧,我就解釋一下 var=${str=expr} :

首先,var=$str 這個大家都可理解吧。
而接下來的思考方向是,究竟 $str 這個變量是如下哪一種情況呢:
1) unset
2) null
3) not null

1) 假如是 unset ,那麼 var=${str=expr} 的結果將是:
var=expr
str=expr

2) 假如是 null ,那 var=${str=expr} 的結果是:
var=
str=

3) 假如是 not null (比方為 xyz ),那 var=${str=expr} 之結果是:
var=xyz
str=xyz”

我不理解 var=${str=expr}这条命令的运行原理,按照通常情况,不是应该先判断{}里面的内容,即“str=expr”(把expr赋值给str),然后再执行“var=$str”的么?
如果是这样的话,按照上面第三条,“str不为null,str=xyz”
那首先执行“str=expr”,这样的话str的值不就已经变为expr了么
然后执行“var=$str”,即将expr赋值给var
最后输出echo $var的话,var的值不是应该是expr么,为什么网中人老师的帖中还是“var=xyz    str=xyz”?

《鸟哥》中关于shell方面也有这样的内容,当时就不解。。
求论坛的高人点拨。。。。谢谢了!!

论坛徽章:
0
发表于 2012-05-25 18:02 |显示全部楼层
str=expr又不一定执行

论坛徽章:
13
15-16赛季CBA联赛之同曦
日期:2016-01-28 19:52:032015亚冠之北京国安
日期:2015-10-07 14:28:19NBA常规赛纪念章
日期:2015-05-04 22:32:03处女座
日期:2015-01-15 19:45:44卯兔
日期:2014-10-28 16:17:14白羊座
日期:2014-05-24 15:10:46寅虎
日期:2014-05-10 09:50:35白羊座
日期:2014-03-12 20:52:17午马
日期:2014-03-01 08:37:27射手座
日期:2014-02-19 19:26:54子鼠
日期:2013-11-30 09:03:56狮子座
日期:2013-09-08 08:37:52
发表于 2012-05-25 18:16 |显示全部楼层
本帖最后由 ulovko 于 2012-05-25 18:18 编辑

什么意思阿 楼主 你弄错了 鸟哥我也看过 明显不是这样写的!
http://linux.vbird.org/linux_basic/0320bash.php#variable_other_re

论坛徽章:
0
发表于 2012-05-25 22:10 |显示全部楼层
回复 2# hbmhalley
现在理解了…

   

论坛徽章:
0
发表于 2012-05-25 22:11 |显示全部楼层
回复 3# ulovko


感谢,之前看的是书本版第二版,有些内容上面没有导致无法理解。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP