• linux shell脚本通过参数名传递参数值


      平常在写shell脚本都是用$1,$2....这种方式来接收参数,然而这种接收参数的方式不但容易忘记且不易于理解和维护。Linux常用的命令都可指定参数名和参数值,然而我们怎样才能给自己的shell脚本也采用参数名和参数值这样的方式来获取参数值呢?而不是通过$1,$2这种方式进行获取。下面的例子定义了短参数名和长参数名两种获取参数值的方式。其实是根据getopt提供的特性进行整理而来。

    #!/bin/sh
    #说明
    show_usage="args: [-l , -r , -b , -w]
                                      [--local-repository=, --repository-url=, --backup-dir=, --webdir=]"
    #参数
    # 本地仓库目录
    opt_localrepo=""
    
    # git仓库url
    opt_url=""
    
    # 备份目录
    opt_backupdir=""
    
    # web目录
    opt_webdir=""
    
    GETOPT_ARGS=`getopt -o l:r:b:w: -al local-repository:,repository-url:,backup-dir:,webdir: -- "$@"`
    eval set -- "$GETOPT_ARGS"
    #获取参数
    while [ -n "$1" ]
    do
            case "$1" in
                    -l|--local-repository) opt_localrepo=$2; shift 2;;
                    -r|--repository-url) opt_url=$2; shift 2;;
                    -b|--backup-dir) opt_backupdir=$2; shift 2;;
                    -w|--webdir) opt_webdir=$2; shift 2;;
                    --) break ;;
                    *) echo $1,$2,$show_usage; break ;;
            esac
    done
    
    if [[ -z $opt_localrepo || -z $opt_url || -z $opt_backupdir || -z $opt_webdir ]]; then
            echo $show_usage
            echo "opt_localrepo: $opt_localrepo , opt_url: $opt_url , opt_backupdir: $opt_backupdir , opt_webdir: $opt_webdir"
            exit 0
    fi

      通过这种方式进行参数值的获取,更易于理解和维护。

  • 相关阅读:
    【转】C# 注册表简单操作
    [转]VC++之随父窗口变化调整控件大小/位置
    [转]vc 汉字汉语拼音首字母如何获取
    [转]浅析ActiveX控件的CAB压缩
    [转]VC6.0中使用MFC开发ActiveX及简单验证
    ElasticSearch增加索引字段
    单词缩写
    linux命令
    使用PR插件Twixtor Pro对视频补帧
    Linux创建脚本服务
  • 原文地址:https://www.cnblogs.com/rwxwsblog/p/5668254.html
Copyright © 2020-2023  润新知