$ {var-value}在shell脚本中做了什么?

时间:2017-05-01 15:52:07

标签: bash shell

我正在查看一些启动脚本。特别是nginx。我注意到他们有一个看起来像这样的块

nginx=${NGINX-/usr/sbin/nginx}
prog=`/bin/basename $nginx`
conffile=${CONFFILE-/etc/nginx/nginx.conf}
lockfile=${LOCKFILE-/var/lock/subsys/nginx}
pidfile=${PIDFILE-/var/run/nginx.pid}
SLEEPMSEC=${SLEEPMSEC-200000}

我试图弄清楚某些$行中间的' - '是什么

作为一项实验,我编写了自己的剧本

#NGINX="b"


f=${NGINX-/etc/nginx/nginx.conf}
echo $f

如果我保持NGINX行注释,则会打印/etc/nginx/nginx.conf,但如果我取消注释,则会打印b

所以我的问题是' - '做什么,你为什么要用这种方式?

0 个答案:

没有答案