我正在阅读ovs的脚本,在开始/停止脚本中,有:
start () {
set ovs_ctl ${1-start}
set "$@" --system-id=random
...
set ovs_ctl ${1-start}
是什么意思?
谢谢!
答案 0 :(得分:1)
这看起来像是一个默认的bash参数替换。
${parameter-default}, ${parameter:-default}
If parameter not set, use default.
http://tldp.org/LDP/abs/html/parameter-substitution.html
所以在你的情况下,它会将“ovs_ctl”设置为$ 1,如果设置了第一个命令行参数,或者“start”
答案 1 :(得分:0)
@spkeadoke解释得很清楚,但bash手册中可能有一些更清晰的文档3.5.3 Shell Parameter Expansion