使用 curl bash

Getopts with curl bash

我有一个问题,如何在一个函数中连接 getopts 和 curl 方法?我是 bash 脚本的新手。我将在下面添加我的功能:

    addProject() {

        addProject_usage() { echo "addProject: [-p <arg>]" 1>&2; exit; }
        read OPTARG
        local OPTIND o p
        local OPTARG
        while getopts ":p:" o; do
            case "${o}" in
                p)
                    p="${OPTARG}"
                   ;;
                *)
                    addProject_usage
                ;;
            esac
        done
        shift $((OPTIND-1))


curl -H "Content-Type:application/json" http://adress.com/api/v3/projects?private_token=$token -d "{ \"name\": \"$p\" }"
}

addProject -p 
addProject

感谢您的任何建议和帮助!我不知道我这样做对不对,但我不这么认为。

男.

我认为脚本可以简化一些:

#!/bin/bash 
#

addProject_usage() { echo "addProject: [-p <arg>]" 1>&2; exit; }

addProject() {

        local p
        p="myPdefault"

        while getopts ":p:" o; do
            case "${o}" in
                p)
                    p="${OPTARG}"
                   ;;
                *)
                    addProject_usage
                ;;
            esac
        done
        shift $((OPTIND-1))


curl -H "Content-Type:application/json" http://adress.com/api/v3/projects?private_token=$token -d "{ \"name\": \"$p\" }"
}

addProject -p foo 
addProject