【问题标题】:what's `set ovs_ctl ${1-start}` command in linux shell mean?linux shell中的`set ovs_ctl ${1-start}`命令是什么意思?
【发布时间】: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


    【解决方案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”

    【讨论】:

      【解决方案2】:

      @spkeadoke 解释得很好,但可能更清晰的文档在 bash 手册3.5.3 Shell Parameter Expansion

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-10-17
        • 1970-01-01
        • 1970-01-01
        • 2012-10-31
        • 2012-06-06
        • 2023-03-22
        • 2015-05-20
        • 2010-10-23
        相关资源
        最近更新 更多