码迷,mamicode.com
首页 > 系统相关 > 详细

shell中的特殊符号

时间:2015-08-04 19:03:48      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:

一、shell中的":"

实际案例:hbase脚本中一段===>

# For releases, add hbase & webapps to CLASSPATH
# Webapps must come first else it messes up Jetty
if [ -d "$HBASE_HOME/hbase-webapps" ]; then
  CLASSPATH=${CLASSPATH}:$HBASE_HOME
fi
if [ -d "$HBASE_HOME/target/hbase-webapps" ]; then
  CLASSPATH="${CLASSPATH}:${HBASE_HOME}/target"
fi
for f in $HBASE_HOME/hbase*.jar; do
  if [[ $f = *sources.jar ]]
  then
    : # Skip sources.jar
  elif [ -f $f ]
  then
    CLASSPATH=${CLASSPATH}:$f;
  fi
done

最近在看《Linux程序设计(第三版)》
看到42页,“:”命令
“:”是一个空命令,while true等同于 while
但是下面它举的这个例子就看不懂了,原文如下:
---------------------------------------------------------------------------
:结构也会被用在变量的条件设置中,例如:                    //“变量的条件设置”,啥意思啊?
 : ${var:=value}                                                    //这句话看不懂,不知道在干啥
  如果没有:,shell将试图把$var当作一条命令来处理             //这句话如何理解,也不知道啊,${} 这是什么结构啊

chinaunix答:

 

技术分享 发表于 2007-12-04 15:16:47 |只看该作者

:是null command,就是不做任何事情,
: ${var:=value}是把${var:=value}作为:命令的参数,
没有 :的话,shell会把${var:=value}当命令来处理,所有要报错

在Unix.Shell编程(第三版).pdf 这个里 第12章有详细介绍

shell中的特殊符号

标签:

原文地址:http://www.cnblogs.com/itcomputer/p/4702706.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!