【发布时间】:2017-06-07 02:33:29
【问题描述】:
我正在阅读 ovs 的脚本,在启动/停止脚本中,有:
start () {
set ovs_ctl ${1-start}
set "$@" --system-id=random
...
set ovs_ctl ${1-start} 是什么意思?
谢谢!
【问题讨论】:
标签: linux shell openvswitch
我正在阅读 ovs 的脚本,在启动/停止脚本中,有:
start () {
set ovs_ctl ${1-start}
set "$@" --system-id=random
...
set ovs_ctl ${1-start} 是什么意思?
谢谢!
【问题讨论】:
标签: linux shell openvswitch
这看起来像是用默认值替换 bash 参数。
${parameter-default}, ${parameter:-default}
If parameter not set, use default.
http://tldp.org/LDP/abs/html/parameter-substitution.html
所以在你的情况下,它会将“ovs_ctl”设置为 $1,如果设置了第一个命令行参数,否则为“start”
【讨论】:
@spkeadoke 解释得很好,但可能更清晰的文档在 bash 手册3.5.3 Shell Parameter Expansion
【讨论】: