@@ -12,10 +12,10 @@ function gbt__local_rcfile() {
12
12
13
13
GBT__CONF="/tmp/.gbt.$RANDOM"
14
14
15
- cp $GBT__PROFILE $GBT__CONF
15
+ echo "export GBT__CONF='$GBT__CONF'" > $GBT__CONF
16
+ cat $GBT__PROFILE >> $GBT__CONF
16
17
echo "$(alias | awk '/gbt_/ {sub(/^(alias |)(gbt___|)/, "", $0); print "alias "$0}')" >> $GBT__CONF
17
18
echo "export GBT__STATUS='$(source $GBT__THEME; GBT_SHELL='bash' GBT_CARS='Status, Custom1' gbt 1)'" >> $GBT__CONF
18
- echo "export GBT__CONF='\$GBT__CONF'" >> $GBT__CONF
19
19
echo -n "PS1='" >> $GBT__CONF
20
20
(source $GBT__THEME; gbt | awk '{gsub(/\\\$/, "$"); printf "%s", $0}') >> $GBT__CONF
21
21
echo "'" >> $GBT__CONF
@@ -32,28 +32,20 @@ function gbt_docker() {
32
32
[ -z "$GBT__PROFILE" ] && GBT__PROFILE="$GBT__HOME/sources/prompt_forwarding/remote"
33
33
[ -z "$GBT__THEME" ] && GBT__THEME="$GBT__HOME/themes/ssh_prompt"
34
34
35
+ local WHICH=$(which $GBT__WHICH_OPTS which 2>/dev/null)
36
+ [ -z $WHICH ] && gbt__err "'which' not found" && return 1
35
37
local DOCKER_BIN=$(which $GBT__WHICH_OPTS docker 2>/dev/null)
36
38
[ $? -ne 0 ] && gbt__err "'docker' not found" && return 1
37
39
38
40
if [ "$1" != 'shell' ]; then
39
41
$DOCKER_BIN $@
40
42
else
41
43
local GBT__CONTAINER_ID="${@: -1}"
42
-
43
- [ -z "$GBT__CONF" ] && export GBT__CONF="/tmp/.gbt.$RANDOM"
44
-
45
- (
46
- echo "export GBT__CONF='$GBT__CONF'";
47
- cat $GBT__PROFILE;
48
- echo "export GBT__STATUS='$(source $GBT__THEME; GBT_SHELL='bash' GBT_CARS='Status, Custom1' gbt 1)'";
49
- echo -n "PS1='";
50
- source $GBT__THEME;
51
- gbt | awk '{gsub(/\\\$/, "$"); printf "%s", $0}';
52
- echo "'"
53
- ) > $GBT__CONF
44
+ local GBT__CONF=$(gbt__local_rcfile)
54
45
55
46
$DOCKER_BIN cp $GBT__CONF $GBT__CONTAINER_ID:$(dirname $GBT__CONF)
56
47
$DOCKER_BIN exec ${@:2:$(($# - 2))} -it $GBT__CONTAINER_ID bash --rcfile $GBT__CONF
48
+ $DOCKER_BIN exec ${@:2:$(($# - 2))} -it $GBT__CONTAINER_ID rm -f $GBT__CONF $GBT__CONF.bash
57
49
58
50
rm -f $GBT__CONF
59
51
unset GBT__CONF
@@ -66,6 +58,8 @@ function gbt_ssh() {
66
58
[ -z "$GBT__PROFILE" ] && GBT__PROFILE="$GBT__HOME/sources/prompt_forwarding/remote"
67
59
[ -z "$GBT__THEME" ] && GBT__THEME="$GBT__HOME/themes/ssh_prompt"
68
60
61
+ local WHICH=$(which $GBT__WHICH_OPTS which 2>/dev/null)
62
+ [ -z $WHICH ] && gbt__err "'which' not found" && return 1
69
63
local SSH_BIN=$(which $GBT__WHICH_OPTS ssh 2>/dev/null)
70
64
[ $? -ne 0 ] && gbt__err "'ssh' not found" && return 1
71
65
@@ -86,8 +80,10 @@ function gbt_ssh() {
86
80
}
87
81
88
82
function gbt_su() {
83
+ local WHICH=$(which $GBT__WHICH_OPTS which 2>/dev/null)
84
+ [ -z $WHICH ] && gbt__err "'which' not found" && return 1
89
85
local SU_BIN=$(which $GBT__WHICH_OPTS su 2>/dev/null)
90
- [ $? -ne 0 ] && gbt__err "'su' not found" && return 1
86
+ [ $? -ne 0 ] && gbt__err "'su' not found" && return 1
91
87
92
88
local GBT__CONF=$(gbt__local_rcfile)
93
89
@@ -97,8 +93,10 @@ function gbt_su() {
97
93
}
98
94
99
95
function gbt_sudo() {
96
+ local WHICH=$(which $GBT__WHICH_OPTS which 2>/dev/null)
97
+ [ -z $WHICH ] && gbt__err "'which' not found" && return 1
100
98
local SU_BIN=$(which $GBT__WHICH_OPTS su 2>/dev/null)
101
- [ $? -ne 0 ] && gbt__err "'su' not found" && return 1
99
+ [ $? -ne 0 ] && gbt__err "'su' not found" && return 1
102
100
local SUDO_BIN=$(which $GBT__WHICH_OPTS sudo 2>/dev/null)
103
101
[ $? -ne 0 ] && gbt__err "'sudo' not found" && return 1
104
102
@@ -120,12 +118,15 @@ function gbt_vagrant() {
120
118
[ -z "$GBT__PROFILE" ] && GBT__PROFILE="$GBT__HOME/sources/prompt_forwarding/remote"
121
119
[ -z "$GBT__THEME" ] && GBT__THEME="$GBT__HOME/themes/ssh_prompt"
122
120
121
+ local WHICH=$(which $GBT__WHICH_OPTS which 2>/dev/null)
122
+ [ -z $WHICH ] && gbt__err "'which' not found" && return 1
123
123
local VAGRANT_BIN=$(which $GBT__WHICH_OPTS vagrant 2>/dev/null)
124
124
[ $? -ne 0 ] && gbt__err "'vagrant' not found" && return 1
125
125
126
126
if [ "$1" != 'ssh' ]; then
127
127
$VAGRANT_BIN $@
128
128
else
129
+ shift
129
130
$VAGRANT_BIN ssh --command "
130
131
cat /etc/motd 2>/dev/null;
131
132
export GBT__CONF=\"/tmp/.gbt.$RANDOM\" &&
@@ -135,6 +136,6 @@ function gbt_vagrant() {
135
136
echo \"export GBT__STATUS='$(source $GBT__THEME; GBT_SHELL='bash' GBT_CARS='Status, Custom1' gbt 1)'\" >> \$GBT__CONF &&
136
137
echo \"PS1='$(source $GBT__THEME; gbt)'\" >> \$GBT__CONF &&
137
138
bash --rcfile \$GBT__CONF;
138
- rm -f \$GBT__CONF \$GBT__CONF.bash"
139
+ rm -f \$GBT__CONF \$GBT__CONF.bash" $@
139
140
fi
140
141
}
0 commit comments