【Bash脚本】处理命令行入参

来源:互联网 发布:雪饮刀淘宝 编辑:程序博客网 时间:2024/05/18 02:48

主要利用getopt对参数进行检查,然后循环找到各个参数。

#!/bin/bashfunction printUsage {    echo "Usage:"     echo "$0 <src> <dst> [-f format] [-s setting]"}params=`getopt f:s: "$@"`if [ $? != 0 ] ; then    echo "Invalid arguments."    printUsage >&2    exit 1;fiParaFormat="defaultFormat"ParaSetting="defaultSetting"eval set -- "$params"while true; do    case "$1" in        -f) ParaFormat="$2"; shift 2;;        -s) ParaSetting="$2"; shift 2;;        --) shift;;        *) if [ -z $1 ]; then            break;        elif [ -z $ParaSrc ]; then            ParaSrc=$1;        elif [ -z $ParaDst ]; then            ParaDst=$1;        else            echo "Invalid argument: $1" >&2;            printUsage            exit 1;        fi        shift;;    esacdoneif [ -z $ParaSrc ]; then    echo "Invalid arguments." >&2;    printUsage >&2;    exit 1;fiecho "input     : $ParaSrc"echo "output    : $ParaSrc"echo "format    : $ParaFormat"echo "setting   : $ParaSetting"