Open vieyahn2017 opened 6 years ago
一个完整的例子example.sh
:
fun_do_a_property()
{
echo "a($1)"
}
fun_do_b_property()
{
echo "b($1)"
}
ARGS=`getopt -o hva:b: --long help,version,along:,blong: -- "$@"`
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
eval set -- "$ARGS"
while true;do
case "$1" in
-a|--along)
echo "-a | --along"
fun_do_a_property $2
shift 2
;;
-b|--blong)
echo "-b | --blong"
fun_do_b_property $2
shift 2
;;
-v|--version)
echo "-v | --version"
shift
;;
-h|--help)
echo "-h | --help"
shift
;;
--)
shift
break
;;
*)
echo "未知的属性:{$1}"
exit 1
;;
esac
done
执行example.sh -a 123 -b 456
-a | --along
a(123)
-b | --blong
b(456)
http://www.cnblogs.com/rwxwsblog/p/5668254.html
#!/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
my file
#!/bin/bash
ARGS=`getopt -o i:p:b:c:s: --long ip:,port:,id:,process:,status: -- "$@"`
if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
eval set -- "$ARGS"
ip="8.46.86.160"
port="8088"
ID="-1"
PROCESS="-1"
RUNNINGSTATUS="1"
usage="args: [-p|--ip , -p|--port , -b|--id , -c|--process, -s|--status]"
while [ -n "$1" ]
do
case "$1" in
-i|--ip)
ip=`echo $2`
shift 2
;;
-p|--port)
port=`echo $2`
shift 2
;;
-b|--id)
ID=`echo $2`
shift 2
;;
-c|--process)
PROCESS=`echo $2`
shift 2
;;
-s|--status)
RUNNINGSTATUS=`echo $2`
shift 2
;;
--)
shift
break
;;
*)
echo "unknown:{$1}"
exit 1
;;
esac
done
echo usage="$usage"
echo IP="$ip"
echo PORT="$port"
echo ID="$ID"
echo PROCESS="$PROCESS"
echo RUNNINGSTATUS="$RUNNINGSTATUS"
echo curl -d "{\"ID\":\"$ID\", \"PROCESS\":\"$PROCESS\", \"RUNNINGSTATUS\":\"$RUNNINGSTATUS\"}" -H "Content-Type: application/json" -k -X PUT "https://8.46.86.160:8088/deviceManager/rest/xxx/LUN_MIGRATION/UPDATE_TEST"
curl -d "{\"ID\":\"$ID\", \"PROCESS\":\"$PROCESS\", \"RUNNINGSTATUS\":\"$RUNNINGSTATUS\"}" -H "Content-Type: application/json" -k -X PUT "https://8.46.86.160:8088/deviceManager/rest/xxx/LUN_MIGRATION/UPDATE_TEST"
参数处理