在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進行調試,可以看到每一步執行情況: