Parse command line arguments in common.sh
[ext/instance-debootstrap.git] / common.sh
1
2 get_api5_arguments() {
3   TEMP=`getopt -o o:n:i:b:s: -n '$0' -- "$@"`
4   if [ $? != 0 ] ; then echo "Terminating..." >&2 ; exit 1 ; fi
5   # Note the quotes around `$TEMP': they are essential!
6   eval set -- "$TEMP"
7   while true; do
8     case "$1" in
9       -i|-o) instance=$2; shift 2;;
10
11       -n) new_name=$2; shift 2;;
12
13       -b) blockdev=$2; shift 2;;
14
15       -s) swapdev=$2; shift 2;;
16
17       --) shift; break;;
18
19       *)  echo "Internal error!"; exit 1;;
20     esac
21   done
22   if [ -z "$instance" -o -z "$blockdev" ]; then
23     echo "Missing OS API Argument"
24     exit 1
25   fi
26   if [ "$0" != "export" -a -z "$swapdev"  ]; then
27     echo "Missing OS API Argument"
28     exit 1
29   fi
30   if [ "$0" = "rename" -a -z "$new_name"  ]; then
31     echo "Missing OS API Argument"
32     exit 1
33   fi
34 }
35
36 get_api5_arguments
37