热门关键字:  ubuntu  分区  函数  Fedora  linux系统进程

当前位置 :| 主页>Linux教程>Shell开发>

shell 条件判断中的 x 是什么意思

来源: 作者: 时间:2007-06-29 Tag: 点击:
在 OpenDadius 项目中的 build/ccd-gcc 脚本中有一下的片段:
代码:
if [ x"$CC" = x ] then CC=gcc export CC fi
其中的 if 语句中的 x 是什么意思?
WWW.91linux.COM提示:
就是x加后面那个变量如果还是等于x的话那么说明这个变量是空的.
如果不等于x说明那个$CC里面有内容.
好像跟-z是一回事.

[ x"$CC" = x ] 和 [ -z "$CC" ] 是一回事,用哪个纯是个人喜好。
不过在条件 [ x"$CC" = xgcc ] 中,如果不确定$CC是否为空, 这个x是必须的。否则这个条件就变成了 [ = gcc ],shell 会报错。

另外在特殊条件下,例如在嵌入系统中,为了节省flash存储空间,script要写得短小精悍。楼主的例子可以写成:
[ -n "$CC" ] || { CC=gcc; export CC; }


最新评论共有 4 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册