${HADOOP_CONF_DIR:-$HADOOP_PREFIX/$DEFAULT_CONF_DIR}
在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进行调试,可以看到每一步执行情况:

随机推荐
- Android——gradle files have changed since last project sync
这个报错,会引起锁死代码,不能编辑.不能编译等情况. 主要原因是:上一次修改gradle后,添加依赖失败.可能引进了过期.无效的依赖. 解决办法:把最近一次添加的依赖删除,重新编译项目.然后上网 ...
- Java多线程之Semaphore信号量
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6557874.html 学过操作系统的对 信号量 这个词应该不陌生,它是用来进行进程间通信,控制对 临界区 ...
- 【leetcode】solution in java——Easy3
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6412505.html 心得:看到一道题,优先往栈,队列,map,list这些工具的使用上面想.不要来去都是暴搜 ...
- 利用sqlserver sa更改系统密码
--允许修改高级属性 sp_configure go reconfigure go --启用扩展存储命令 sp_configure go reconfigure go --系统添加一个windows用 ...
- centos nginx+php+mysql 安装libiconv不成功
wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz tar -zxvf libiconv-1.13.1.tar.gzcd l ...
- TCP_Wrappers
TCP_Wrappers配置 这里主要涉及到两个配置文件/etc/hosts.allow和/etc/hosts.deny./usr/sbin/tcpd进程会根据这两个文件判断是否对访问请求提供服务. ...
- 实现两个Mysql数据库同步
一. 概述 MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步.主从模式.互相备份模式的功能.本文档主要阐述了如何在linux系 ...
- PL/SQL Developer 中文乱码问题的解决
分三个步骤解决: 1.检查server编码: 运行SQL语法: select * from v$nls_parameters; 2.设置本地client编码: 进入 ...
- How to use, monitor, and disable transparent hugepages in Red Hat Enterprise Linux 6
Resolution Note: Transparent Huge Pages are not available on the 32-bit version of RHEL 6. Transpare ...
- 【C++】自定义比较函数小结
1.使用结构体grid作为map的key struct grid { int x; int y; }; (1)需要自定义比较函数operator<,不然会报错: error C2784: “bo ...