bash吧 关注:244贴子:392
  • 10回复贴,共1

如何这样"命名"传参?

只看楼主收藏回复

有脚本 run.sh
想这样传参:
run.sh -a 0 -b 1 -s
且顺序无关
求指教


IP属地:辽宁1楼2014-06-18 09:46回复
    觉得还是想支持一下长参,就暂时用的getopt, 功能实现了,但发现个奇怪问题
    #!/bin/bash
    TEMP=`getopt -o c: --long abc: -- "$@"`
    echo $TEMP
    这样竟也能取到 abc (只打 ab 而不是 abc)
    ./test-getopt.sh --ab 123

    ./test-getopt.sh --a 123
    测试:
    $ ./test-getopt.sh --a 123
    --abc '123' --


    IP属地:辽宁3楼2014-06-18 14:33
    收起回复
      长参数更需要手工处理才具有灵活性


      IP属地:北京4楼2014-06-19 20:24
      回复
        还可以多添加一步参数处理更稳妥:


        IP属地:北京5楼2014-06-19 20:30
        收起回复
          长参数:


          IP属地:北京6楼2014-06-19 20:38
          收起回复