在一个脚本里看到下面这段代码

HADOOP_CONF_DIR=${HADOOP_CONF_DIR:-$SPARK_CONF_DIR/yarn-conf}
HIVE_CONF_DIR=${HIVE_CONF_DIR:-/etc/hive/conf}
if [ -d "$HIVE_CONF_DIR" ]; then
HADOOP_CONF_DIR="$HADOOP_CONF_DIR:$HIVE_CONF_DIR"
fi
export HADOOP_CONF_DIR

里面有些用法不太了解,怕理解有偏差。有没有擅长shell的指点一下,

第一行 如果HADOOP_CONF_DIR有值,使用值,如果没有 使用$SPARK_CONF_DIR/yarn-conf

第二行 如果HIVE_CONF_DIR有值使用值,如果没有 使用${HIVE_CONF_DIR:-/etc/hive/conf
后面行 如果HIVE_CONF_DIR是目录 那么HADOOP_CONF_DIR = "$HADOOP_CONF_DIR:$HIVE_CONF_DIR" 这句不太懂

看着像配置hive的脚本
如果HIVE_CONF_DIR是文件夹,
就将HADOOP_CONF_DIR 下的配置文件复制到HIVE_CONF_DIR下,
然后将HIVE_CONF_DIR的路径赋给HADOOP_CONF_DIR