linux shell中的`set ovs_ctl $ {1-start}`命令是什么意思?

时间:2017-06-07 02:33:30

标签: linux shell openvswitch

我正在阅读ovs的脚本,在开始/停止脚本中,有:

start () {
    set ovs_ctl ${1-start}
    set "$@" --system-id=random 
    ...

set ovs_ctl ${1-start}是什么意思?

谢谢!

2 个答案:

答案 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