在hadoop-config.sh中,有如下语句:${HADOOP_CONF_DIR:-$HADOOP_PREFIX/$DEFAULT_CONF_DIR}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

在这里面, :- 是一个运算符,叫做替换运算符:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

附上测试方法:

 

 

 

 

 

 

 

 

 

 

 

 

 

在这个语法当中,: 是可以省略的,如果省略了冒号,那么语义就是判断是否存在:

 

 

 

 

 

在hadoop-config.sh中,有如下语句:

 

 

 

 

 

 

 

 

这个语句表示,如果BASH_SOURCE变量存在,则使用BASH_SOURCE的值,如果BASH_SOURCE的值不存在,那么就使用命令行参数的第一个值($0),即文件名。

如下面的例子:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

使用sh –x test3.sh进行调试,可以看到每一步执行情况:

随机推荐

  1. Exchanger的使用

    两个线程可以交换对象的同步点.每个线程都在进入 exchange 方法时给出某个对象,并接受其他线程返回时给出的对象. 用于实现两个人之间的数据交换,每个人在完成一定的事务后想与对方交换数据,第一个先 ...

  2. AOP技术分析

    AOP的概述(http://www.cnblogs.com/lxp503238/p/6837653.html)        1. 什么是AOP的技术?        * 在软件业,AOP为Aspec ...

  3. Qt 立体水晶按键实现

    一直对 Qt 怎样实现富有立体感的按键很好奇,做过很多尝试,最后用的图片,但是图片终究不够灵活,而且占内存. 今天偶然发现,使用下面的代码,作出的 QPushButton 效果还算不错.代码共享之: ...

  4. Maven项目目录结构与自动创建maven目录

    Maven项目有特定的目录结构: 如图,我们在创建一个maven工程时,在项目根目录下有三大内容:main.test.pom.xml. 其中:main文件夹下是项目的主要源代码,按照包路径来存放 te ...

  5. Java并发容器之非阻塞队列ConcurrentLinkedQueue

    参考资料:http://blog.csdn.net/chenchaofuck1/article/details/51660521 实现一个线程安全的队列有两种实现方式:一种是使用阻塞算法,阻塞队列就是 ...

  6. jump-game i&&ii 能否跳出区间 贪心

    I: Given an array of non-negative integers, you are initially positioned at the first index of the a ...

  7. 〖Linux〗Kubuntu文件管理器单例的设置(即:一个工作区只一个文件管理器)

    有没有一种,情况: 1. 程序A打开了文件管理器: 2. 程序B又打开了文件管理器: 导致开了两个文件管理器,太不舒服了: 搜索下 kubuntu dolphin single instance,果然 ...

  8. 〖Linux〗实时更新 hosts 文件的脚本

    适用场景: 下载了一个smarthosts的hosts文件,但hosts文件过旧导致一些ip地址已失效无法访问网络. 脚本使用: ./hostsupdate # 直接从 /etc/hosts 中获得需 ...

  9. python3 数据库查询

    #xiaodeng #python 3 #数据库查询 #第一种方法(fethall,返回所有行数据) import pymysql #connect链接服务器,注意和服务库编码一致 conn=pymy ...

  10. HP LoadRunner:怎样连接到HP ALM的CAC模式?

    你听说过使用HP LoadRunner连接到HP ALM的CAC模式么?本文给大家讲讲什么是CAC,怎样连接到HP ALM的CAC模式中. CAC是什么? CAC全称是Common Access Ca ...