forked from utahta/pythonbrew
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathbashrc
More file actions
94 lines (81 loc) · 1.75 KB
/
bashrc
File metadata and controls
94 lines (81 loc) · 1.75 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
PATH_ROOT="@ROOT@"
PATH_ETC="$PATH_ROOT/etc"
__pythonbrew_set_default()
{
PATH_PYTHONBREW="$PATH_ROOT/bin"
}
__pythonbrew_set_path()
{
PATH_WITHOUT_PYTHONBREW=$(printf $PATH | awk -v RS=: -v ORS=: "/${PATH_ROOT//\//\/}/ {next} {print}" | sed -e 's#:$##')
export PATH=$PATH_PYTHONBREW:$PATH_WITHOUT_PYTHONBREW
}
__pythonbrew_set_temp_path()
{
if [[ -s "$PATH_ETC/temp" ]] ; then
source "$PATH_ETC/temp"
else
__pythonbrew_set_default
fi
__pythonbrew_set_path
}
__pythonbrew_set_current_path()
{
if [[ -s "$PATH_ETC/current" ]] ; then
source "$PATH_ETC/current"
else
__pythonbrew_set_default
fi
__pythonbrew_set_path
}
__pythonbrew_reload()
{
[[ -s "$PATH_ETC/bashrc" ]] && source "$PATH_ETC/bashrc"
}
__pythonbrew_use()
{
command pythonbrew "$@"
[[ $? == 0 ]] && __pythonbrew_set_temp_path
}
__pythonbrew_switch()
{
command pythonbrew "$@"
[[ $? == 0 ]] && __pythonbrew_set_current_path
}
__pythonbrew_off()
{
command pythonbrew "$@"
[[ $? == 0 ]] && __pythonbrew_set_current_path
}
__pythonbrew_update()
{
command pythonbrew "$@"
[[ $? == 0 ]] && __pythonbrew_reload
}
__pythonbrew_find_command()
{
command_name=""
for arg in "$@" ; do
case $arg in
--*) continue;;
-*) continue;;
*)
command_name=$arg
break
;;
esac
done
}
pythonbrew()
{
__pythonbrew_find_command "$@"
case $command_name in
use) __pythonbrew_use "$@";;
switch) __pythonbrew_switch "$@" ;;
off) __pythonbrew_off "$@" ;;
update) __pythonbrew_update "$@" ;;
*) command pythonbrew "$@" ;;
esac
builtin hash -r
}
# main
__pythonbrew_set_current_path