File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ #! /usr/bin/env bash
2+
3+ PROGNAME=${0##*/ }
4+ VERSION=" 0.1"
5+
6+ origin=https://github.com/lua/lua
7+ branch=master
8+ dir=origin
9+
10+ fetch_origin () {
11+ git clone --depth 1 ${origin} ${dir}
12+ mkdir ${dir} /src ${dir} /include
13+ mv ${dir} /* .h include/.
14+ mv ${dir} /* .c src/.
15+
16+ return
17+ }
18+
19+ clean_up () { # Perform pre-exit housekeeping
20+ rm -rf ${dir}
21+ return
22+ }
23+
24+ error_exit () {
25+ echo -e " ${PROGNAME} : ${1:- " Unknown Error" } " >&2
26+ clean_up
27+ exit 1
28+ }
29+
30+ graceful_exit () {
31+ clean_up
32+ exit
33+ }
34+
35+ signal_exit () { # Handle trapped signals
36+ case $1 in
37+ INT)
38+ error_exit " Program interrupted by user"
39+ ;;
40+ TERM)
41+ echo -e " \n$PROGNAME : Program terminated" >&2
42+ graceful_exit
43+ ;;
44+ * )
45+ error_exit " $PROGNAME : Terminating on unknown signal"
46+ ;;
47+ esac
48+ }
49+
50+ usage () {
51+ echo -e " Usage: $PROGNAME [-h|--help] [-o|--origin] [-b|--branch]"
52+ }
53+
54+ help_message () {
55+ cat << -_EOF_
56+ $PROGNAME ver. $VERSION
57+
58+ Fetch from lua origin and auto arrange files
59+
60+ $( usage)
61+
62+ Options:
63+ -h, --help Display this help message and exit.
64+ -o, --origin Origin to fetch
65+ -b, --branch Branch to fetch
66+
67+ _EOF_
68+ return
69+ }
70+
71+ # Trap signals
72+ trap " signal_exit TERM" TERM HUP
73+ trap " signal_exit INT" INT
74+
75+ # Parse command-line
76+ while [[ -n $1 ]]; do
77+ case $1 in
78+ -h | --help)
79+ help_message
80+ graceful_exit
81+ ;;
82+ -o | --origin)
83+ origin=$2
84+ echo " Fetch from $origin "
85+ ;;
86+ -b | --branch)
87+ branch=$2
88+ echo " On branch $branch "
89+ ;;
90+ -* | --* )
91+ usage
92+ error_exit " Unknown option $1 "
93+ ;;
94+ * ) ;;
95+
96+ esac
97+ shift
98+ done
99+
100+ # Main logic
101+
102+ fetch_origin
103+
104+ graceful_exit
You can’t perform that action at this time.
0 commit comments