55# Ensure the script is downloaded completely
66{
77
8- dvm_compare_version () {
9- test " $( printf ' %s\n' " $@ " | sort -V | head -n 1) " ! = " $2 "
10- }
11-
12- dvm_has () {
13- command -v " $1 " > /dev/null
14- }
15-
16- dvm_get_profile_file () {
17- case ${SHELL##*/ } in
18- bash)
19- DVM_PROFILE_FILE=" $HOME /.bashrc"
20- ;;
21- zsh)
22- DVM_PROFILE_FILE=" $HOME /.zshrc"
23- ;;
24- * )
25- DVM_PROFILE_FILE=" $HOME /.profile"
26- ;;
27- esac
28- }
29-
308dvm_add_into_profile_file () {
319 local is_dvm_defined
3210
@@ -47,6 +25,20 @@ export DVM_DIR=\"\$HOME/.dvm\"
4725" >> " $DVM_PROFILE_FILE "
4826}
4927
28+ dvm_check_dir () {
29+ if [ ! -d " $DVM_DIR " ]
30+ then
31+ mkdir -p " $DVM_DIR "
32+ else
33+ echo " directory $DVM_DIR already exists."
34+ exit 1
35+ fi
36+ }
37+
38+ dvm_compare_version () {
39+ test " $( printf ' %s\n' " $@ " | sort -V | head -n 1) " ! = " $2 "
40+ }
41+
5042dvm_get_latest_version () {
5143 local request_url
5244 local response
@@ -75,42 +67,22 @@ dvm_get_latest_version() {
7567 DVM_LATEST_VERSION=$( echo " $response " | sed ' s/"/\n/g' | grep tag_name -A 2 | grep v)
7668}
7769
78- dvm_install_latest_version () {
79- local git_url
80- local cmd
81-
82- case " $DVM_SOURCE " in
83- gitee)
84- git_url=" https://gitee.com/ghosind/dvm.git"
70+ dvm_get_profile_file () {
71+ case ${SHELL##*/ } in
72+ bash)
73+ DVM_PROFILE_FILE=" $HOME /.bashrc"
8574 ;;
86- github|* )
87- git_url=" https://github.com/ghosind/dvm.git"
75+ zsh)
76+ DVM_PROFILE_FILE=" $HOME /.zshrc"
77+ ;;
78+ * )
79+ DVM_PROFILE_FILE=" $HOME /.profile"
8880 ;;
8981 esac
90-
91- if ! dvm_has git
92- then
93- echo " git is require."
94- exit 1
95- fi
96-
97- cmd=" git clone -b $DVM_LATEST_VERSION $git_url $DVM_DIR --depth=1"
98-
99- if ! ${cmd}
100- then
101- echo " failed to download DVM."
102- exit 1
103- fi
10482}
10583
106- dvm_check_dir () {
107- if [ ! -d " $DVM_DIR " ]
108- then
109- mkdir -p " $DVM_DIR "
110- else
111- echo " directory $DVM_DIR already exists."
112- exit 1
113- fi
84+ dvm_has () {
85+ command -v " $1 " > /dev/null
11486}
11587
11688dvm_install () {
@@ -134,9 +106,32 @@ dvm_install() {
134106 echo " DVM has been installed, please restart your terminal or run \` source $DVM_PROFILE_FILE \` to apply changes."
135107}
136108
137- dvm_set_default () {
138- DVM_DIR=${DVM_DIR:- $HOME / .dvm}
139- DVM_SOURCE=${DVM_SOURCE:- github}
109+ dvm_install_latest_version () {
110+ local git_url
111+ local cmd
112+
113+ case " $DVM_SOURCE " in
114+ gitee)
115+ git_url=" https://gitee.com/ghosind/dvm.git"
116+ ;;
117+ github|* )
118+ git_url=" https://github.com/ghosind/dvm.git"
119+ ;;
120+ esac
121+
122+ if ! dvm_has git
123+ then
124+ echo " git is require."
125+ exit 1
126+ fi
127+
128+ cmd=" git clone -b $DVM_LATEST_VERSION $git_url $DVM_DIR --depth=1"
129+
130+ if ! ${cmd}
131+ then
132+ echo " failed to download DVM."
133+ exit 1
134+ fi
140135}
141136
142137dvm_print_help () {
@@ -153,6 +148,11 @@ dvm_print_help() {
153148 echo " install.sh -r github -d ~/.dvm"
154149}
155150
151+ dvm_set_default () {
152+ DVM_DIR=${DVM_DIR:- $HOME / .dvm}
153+ DVM_SOURCE=${DVM_SOURCE:- github}
154+ }
155+
156156dvm_set_default
157157
158158while getopts " hr:d:" opt
0 commit comments