2424# Override these values in ~/.zshrc or ~/.bashrc
2525KUBE_PS1_BINARY=" ${KUBE_PS1_BINARY:- kubectl} "
2626KUBE_PS1_SYMBOL_ENABLE=" ${KUBE_PS1_SYMBOL_ENABLE:- true} "
27- KUBE_PS1_SYMBOL_DEFAULT =${KUBE_PS1_SYMBOL_DEFAULT :- $' \u2388' }
27+ _KUBE_PS1_SYMBOL_DEFAULT =${_KUBE_PS1_SYMBOL_DEFAULT :- $' \u2388' }
2828KUBE_PS1_SYMBOL_PADDING=" ${KUBE_PS1_SYMBOL_PADDING:- false} "
2929KUBE_PS1_SYMBOL_USE_IMG=" ${KUBE_PS1_SYMBOL_USE_IMG:- false} "
30- # KUBE_PS1_SYMBOL_OC="${KUBE_PS1_SYMBOL_OC:-}"
3130KUBE_PS1_SYMBOL_OC_IMG=" ${KUBE_PS1_SYMBOL_OC_IMG:- false} "
32- KUBE_PS1_SYMBOL_OC =${KUBE_PS1_SYMBOL_OC:- $' \ue7b7' }
31+ _KUBE_PS1_SYMBOL_OC =${KUBE_PS1_SYMBOL_OC:- $' \ue7b7' }
3332
3433KUBE_PS1_NS_ENABLE=" ${KUBE_PS1_NS_ENABLE:- true} "
3534KUBE_PS1_CONTEXT_ENABLE=" ${KUBE_PS1_CONTEXT_ENABLE:- true} "
@@ -43,31 +42,37 @@ KUBE_PS1_CTX_COLOR="${KUBE_PS1_CTX_COLOR-red}"
4342KUBE_PS1_NS_COLOR=" ${KUBE_PS1_NS_COLOR-cyan} "
4443KUBE_PS1_BG_COLOR=" ${KUBE_PS1_BG_COLOR} "
4544
46- KUBE_PS1_KUBECONFIG_CACHE=" ${KUBECONFIG} "
47- KUBE_PS1_DISABLE_PATH=" ${HOME} /.kube/kube-ps1/disabled"
48- KUBE_PS1_LAST_TIME=0
4945KUBE_PS1_CLUSTER_FUNCTION=" ${KUBE_PS1_CLUSTER_FUNCTION} "
5046KUBE_PS1_NAMESPACE_FUNCTION=" ${KUBE_PS1_NAMESPACE_FUNCTION} "
5147
48+ _KUBE_PS1_KUBECONFIG_CACHE=" ${KUBECONFIG} "
49+ _KUBE_PS1_DISABLE_PATH=" ${HOME} /.kube/kube-ps1/disabled"
50+ _KUBE_PS1_LAST_TIME=0
51+
5252# Determine our shell
53- if [ " ${ZSH_VERSION-} " ]; then
54- KUBE_PS1_SHELL=" zsh"
55- elif [ " ${BASH_VERSION-} " ]; then
56- KUBE_PS1_SHELL=" bash"
57- fi
53+ _kube_ps1_shell_type () {
54+ local _KUBE_PS1_SHELL_TYPE
55+
56+ if [ " ${ZSH_VERSION-} " ]; then
57+ _KUBE_PS1_SHELL_TYPE=" zsh"
58+ elif [ " ${BASH_VERSION-} " ]; then
59+ _KUBE_PS1_SHELL_TYPE=" bash"
60+ fi
61+ echo $_KUBE_PS1_SHELL_TYPE
62+ }
5863
5964_kube_ps1_init () {
60- [[ -f " ${KUBE_PS1_DISABLE_PATH } " ]] && KUBE_PS1_ENABLED=off
65+ [[ -f " ${_KUBE_PS1_DISABLE_PATH } " ]] && KUBE_PS1_ENABLED=off
6166
62- case " ${KUBE_PS1_SHELL} " in
67+ case " $( _kube_ps1_shell_type ) " in
6368 " zsh" )
6469 _KUBE_PS1_OPEN_ESC=" %{"
6570 _KUBE_PS1_CLOSE_ESC=" %}"
6671 _KUBE_PS1_DEFAULT_BG=" %k"
6772 _KUBE_PS1_DEFAULT_FG=" %f"
6873 setopt PROMPT_SUBST
6974 autoload -U add-zsh-hook
70- add-zsh-hook precmd _kube_ps1_update_cache
75+ add-zsh-hook precmd _kube_ps1_prompt_update
7176 zmodload -F zsh/stat b:zstat
7277 zmodload zsh/datetime
7378 ;;
@@ -76,75 +81,75 @@ _kube_ps1_init() {
7681 _KUBE_PS1_CLOSE_ESC=$' \002 '
7782 _KUBE_PS1_DEFAULT_BG=$' \033 [49m'
7883 _KUBE_PS1_DEFAULT_FG=$' \033 [39m'
79- [[ $PROMPT_COMMAND =~ _kube_ps1_update_cache ]] || PROMPT_COMMAND=" _kube_ps1_update_cache ;${PROMPT_COMMAND:-: } "
84+ [[ $PROMPT_COMMAND =~ _kube_ps1_prompt_update ]] || PROMPT_COMMAND=" _kube_ps1_prompt_update ;${PROMPT_COMMAND:-: } "
8085 ;;
8186 esac
8287}
8388
8489_kube_ps1_color_fg () {
85- local KUBE_PS1_FG_CODE
90+ local _KUBE_PS1_FG_CODE
8691 case " ${1} " in
87- black) KUBE_PS1_FG_CODE =0;;
88- red) KUBE_PS1_FG_CODE =1;;
89- green) KUBE_PS1_FG_CODE =2;;
90- yellow) KUBE_PS1_FG_CODE =3;;
91- blue) KUBE_PS1_FG_CODE =4;;
92- magenta) KUBE_PS1_FG_CODE =5;;
93- cyan) KUBE_PS1_FG_CODE =6;;
94- white) KUBE_PS1_FG_CODE =7;;
92+ black) _KUBE_PS1_FG_CODE =0;;
93+ red) _KUBE_PS1_FG_CODE =1;;
94+ green) _KUBE_PS1_FG_CODE =2;;
95+ yellow) _KUBE_PS1_FG_CODE =3;;
96+ blue) _KUBE_PS1_FG_CODE =4;;
97+ magenta) _KUBE_PS1_FG_CODE =5;;
98+ cyan) _KUBE_PS1_FG_CODE =6;;
99+ white) _KUBE_PS1_FG_CODE =7;;
95100 # 256
96- [0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-6]) KUBE_PS1_FG_CODE =" ${1} " ;;
97- * ) KUBE_PS1_FG_CODE =default
101+ [0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-6]) _KUBE_PS1_FG_CODE =" ${1} " ;;
102+ * ) _KUBE_PS1_FG_CODE =default
98103 esac
99104
100- if [[ " ${KUBE_PS1_FG_CODE } " == " default" ]]; then
101- KUBE_PS1_FG_CODE =" ${_KUBE_PS1_DEFAULT_FG} "
105+ if [[ " ${_KUBE_PS1_FG_CODE } " == " default" ]]; then
106+ _KUBE_PS1_FG_CODE =" ${_KUBE_PS1_DEFAULT_FG} "
102107 return
103- elif [[ " ${KUBE_PS1_SHELL} " == " zsh" ]]; then
104- KUBE_PS1_FG_CODE =" %F{$KUBE_PS1_FG_CODE }"
105- elif [[ " ${KUBE_PS1_SHELL} " == " bash" ]]; then
108+ elif [[ " $( _kube_ps1_shell_type ) " == " zsh" ]]; then
109+ _KUBE_PS1_FG_CODE =" %F{$_KUBE_PS1_FG_CODE }"
110+ elif [[ " $( _kube_ps1_shell_type ) " == " bash" ]]; then
106111 if tput setaf 1 & > /dev/null; then
107- KUBE_PS1_FG_CODE =" $( tput setaf ${KUBE_PS1_FG_CODE } ) "
108- elif [[ $KUBE_PS1_FG_CODE -ge 0 ]] && [[ $KUBE_PS1_FG_CODE -le 256 ]]; then
109- KUBE_PS1_FG_CODE =" \033[38;5;${KUBE_PS1_FG_CODE } m"
112+ _KUBE_PS1_FG_CODE =" $( tput setaf ${_KUBE_PS1_FG_CODE } ) "
113+ elif [[ $_KUBE_PS1_FG_CODE -ge 0 ]] && [[ $_KUBE_PS1_FG_CODE -le 256 ]]; then
114+ _KUBE_PS1_FG_CODE =" \033[38;5;${_KUBE_PS1_FG_CODE } m"
110115 else
111- KUBE_PS1_FG_CODE =" ${_KUBE_PS1_DEFAULT_FG} "
116+ _KUBE_PS1_FG_CODE =" ${_KUBE_PS1_DEFAULT_FG} "
112117 fi
113118 fi
114- echo ${_KUBE_PS1_OPEN_ESC}${KUBE_PS1_FG_CODE }${_KUBE_PS1_CLOSE_ESC}
119+ echo ${_KUBE_PS1_OPEN_ESC}${_KUBE_PS1_FG_CODE }${_KUBE_PS1_CLOSE_ESC}
115120}
116121
117122_kube_ps1_color_bg () {
118- local KUBE_PS1_BG_CODE
123+ local _KUBE_PS1_BG_CODE
119124 case " ${1} " in
120- black) KUBE_PS1_BG_CODE =0;;
121- red) KUBE_PS1_BG_CODE =1;;
122- green) KUBE_PS1_BG_CODE =2;;
123- yellow) KUBE_PS1_BG_CODE =3;;
124- blue) KUBE_PS1_BG_CODE =4;;
125- magenta) KUBE_PS1_BG_CODE =5;;
126- cyan) KUBE_PS1_BG_CODE =6;;
127- white) KUBE_PS1_BG_CODE =7;;
125+ black) _KUBE_PS1_BG_CODE =0;;
126+ red) _KUBE_PS1_BG_CODE =1;;
127+ green) _KUBE_PS1_BG_CODE =2;;
128+ yellow) _KUBE_PS1_BG_CODE =3;;
129+ blue) _KUBE_PS1_BG_CODE =4;;
130+ magenta) _KUBE_PS1_BG_CODE =5;;
131+ cyan) _KUBE_PS1_BG_CODE =6;;
132+ white) _KUBE_PS1_BG_CODE =7;;
128133 # 256
129- [0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-6]) KUBE_PS1_BG_CODE =" ${1} " ;;
130- * ) KUBE_PS1_BG_CODE =$' \033 [0m' ;;
134+ [0-9]|[1-9][0-9]|[1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-6]) _KUBE_PS1_BG_CODE =" ${1} " ;;
135+ * ) _KUBE_PS1_BG_CODE =$' \033 [0m' ;;
131136 esac
132137
133- if [[ " ${KUBE_PS1_BG_CODE } " == " default" ]]; then
134- KUBE_PS1_FG_CODE =" ${_KUBE_PS1_DEFAULT_BG} "
138+ if [[ " ${_KUBE_PS1_BG_CODE } " == " default" ]]; then
139+ _KUBE_PS1_FG_CODE =" ${_KUBE_PS1_DEFAULT_BG} "
135140 return
136- elif [[ " ${KUBE_PS1_SHELL} " == " zsh" ]]; then
137- KUBE_PS1_BG_CODE =" %K{$KUBE_PS1_BG_CODE }"
138- elif [[ " ${KUBE_PS1_SHELL} " == " bash" ]]; then
141+ elif [[ " $( _kube_ps1_shell_type ) " == " zsh" ]]; then
142+ _KUBE_PS1_BG_CODE =" %K{$_KUBE_PS1_BG_CODE }"
143+ elif [[ " $( _kube_ps1_shell_type ) " == " bash" ]]; then
139144 if tput setaf 1 & > /dev/null; then
140- KUBE_PS1_BG_CODE =" $( tput setab ${KUBE_PS1_BG_CODE } ) "
141- elif [[ $KUBE_PS1_BG_CODE -ge 0 ]] && [[ $KUBE_PS1_BG_CODE -le 256 ]]; then
142- KUBE_PS1_BG_CODE =" \033[48;5;${KUBE_PS1_BG_CODE } m"
145+ _KUBE_PS1_BG_CODE =" $( tput setab ${_KUBE_PS1_BG_CODE } ) "
146+ elif [[ $_KUBE_PS1_BG_CODE -ge 0 ]] && [[ $_KUBE_PS1_BG_CODE -le 256 ]]; then
147+ _KUBE_PS1_BG_CODE =" \033[48;5;${_KUBE_PS1_BG_CODE } m"
143148 else
144- KUBE_PS1_BG_CODE =" ${DEFAULT_BG} "
149+ _KUBE_PS1_BG_CODE =" ${DEFAULT_BG} "
145150 fi
146151 fi
147- echo ${_KUBE_PS1_OPEN_ESC}${KUBE_PS1_BG_CODE }${_KUBE_PS1_CLOSE_ESC}
152+ echo ${_KUBE_PS1_OPEN_ESC}${_KUBE_PS1_BG_CODE }${_KUBE_PS1_CLOSE_ESC}
148153}
149154
150155_kube_ps1_binary_check () {
@@ -154,18 +159,18 @@ _kube_ps1_binary_check() {
154159_kube_ps1_symbol () {
155160 [[ " ${KUBE_PS1_SYMBOL_ENABLE} " == false ]] && return
156161
157- case " ${KUBE_PS1_SHELL} " in
162+ case " $( _kube_ps1_shell_type ) " in
158163 bash)
159164 if (( BASH_VERSINFO[0 ] >= 4 )) && [[ $' \u2388' != " \\ u2388" ]]; then
160- KUBE_PS1_SYMBOL=" ${KUBE_PS1_SYMBOL_DEFAULT } "
165+ KUBE_PS1_SYMBOL=" ${_KUBE_PS1_SYMBOL_DEFAULT } "
161166 KUBE_PS1_SYMBOL_IMG=$' \u2638\ufe0f'
162167 else
163168 KUBE_PS1_SYMBOL=$' \xE2\x8E\x88 '
164169 KUBE_PS1_SYMBOL_IMG=$' \xE2\x98\xB8 '
165170 fi
166171 ;;
167172 zsh)
168- KUBE_PS1_SYMBOL=" ${KUBE_PS1_SYMBOL_DEFAULT } "
173+ KUBE_PS1_SYMBOL=" ${_KUBE_PS1_SYMBOL_DEFAULT } "
169174 KUBE_PS1_SYMBOL_IMG=" \u2638" ;;
170175 * )
171176 KUBE_PS1_SYMBOL=" k8s"
@@ -179,7 +184,7 @@ _kube_ps1_symbol() {
179184 # NOTE: this requires a patched "Nerd" font to work
180185 # https://www.nerdfonts.com/
181186 if [[ " ${KUBE_PS1_SYMBOL_OC_IMG} " == true ]]; then
182- KUBE_PS1_SYMBOL=" ${KUBE_PS1_SYMBOL_OC } "
187+ KUBE_PS1_SYMBOL=" ${_KUBE_PS1_SYMBOL_OC } "
183188 fi
184189
185190 if [[ " ${KUBE_PS1_SYMBOL_PADDING} " == true ]]; then
@@ -190,7 +195,7 @@ _kube_ps1_symbol() {
190195
191196}
192197
193- _kube_ps1_split () {
198+ _kube_ps1_split_config () {
194199 type setopt > /dev/null 2>&1 && setopt SH_WORD_SPLIT
195200 local IFS=$1
196201 echo $2
@@ -201,7 +206,7 @@ _kube_ps1_file_newer_than() {
201206 local file=$1
202207 local check_time=$2
203208
204- if [[ " ${KUBE_PS1_SHELL} " == " zsh" ]]; then
209+ if [[ " $( _kube_ps1_shell_type ) " == " zsh" ]]; then
205210 # Use zstat '-F %s.%s' to make it compatible with low zsh version (eg: 5.0.2)
206211 mtime=$( zstat +mtime -F %s.%s " ${file} " )
207212 elif stat -c " %s" /dev/null & > /dev/null; then
@@ -215,7 +220,7 @@ _kube_ps1_file_newer_than() {
215220 [[ " ${mtime} " -gt " ${check_time} " ]]
216221}
217222
218- _kube_ps1_update_cache () {
223+ _kube_ps1_prompt_update () {
219224 local return_code=$?
220225
221226 [[ " ${KUBE_PS1_ENABLED} " == " off" ]] && return $return_code
@@ -224,27 +229,35 @@ _kube_ps1_update_cache() {
224229 # No ability to fetch context/namespace; display N/A.
225230 KUBE_PS1_CONTEXT=" BINARY-N/A"
226231 KUBE_PS1_NAMESPACE=" N/A"
227- return
232+ return $return_code
228233 fi
229234
230- if [[ " ${KUBECONFIG} " != " ${KUBE_PS1_KUBECONFIG_CACHE } " ]]; then
235+ if [[ " ${KUBECONFIG} " != " ${_KUBE_PS1_KUBECONFIG_CACHE } " ]]; then
231236 # User changed KUBECONFIG; unconditionally refetch.
232- KUBE_PS1_KUBECONFIG_CACHE =${KUBECONFIG}
237+ _KUBE_PS1_KUBECONFIG_CACHE =${KUBECONFIG}
233238 _kube_ps1_get_context_ns
234- return
239+ return $return_code
235240 fi
236241
237242 # kubectl will read the environment variable $KUBECONFIG
238243 # otherwise set it to ~/.kube/config
239244 local conf
240- for conf in $( _kube_ps1_split : " ${KUBECONFIG:- ${HOME} / .kube/ config} " ) ; do
245+ local config_file_cache
246+
247+ for conf in $( _kube_ps1_split_config : " ${KUBECONFIG:- ${HOME} / .kube/ config} " ) ; do
241248 [[ -r " ${conf} " ]] || continue
242- if _kube_ps1_file_newer_than " ${conf} " " ${KUBE_PS1_LAST_TIME} " ; then
249+ config_file_cache+=" :${conf} "
250+ if _kube_ps1_file_newer_than " ${conf} " " ${_KUBE_PS1_LAST_TIME} " ; then
243251 _kube_ps1_get_context_ns
244- return
252+ return $return_code
245253 fi
246254 done
247255
256+ if [[ " ${config_file_cache} " != " ${_KUBE_PS1_CFGFILES_READ_CACHE} " ]]; then
257+ _kube_ps1_get_context_ns
258+ return $return_code
259+ fi
260+
248261 return $return_code
249262}
250263
@@ -254,7 +267,7 @@ _kube_ps1_get_context() {
254267 # Set namespace to 'N/A' if it is not defined
255268 KUBE_PS1_CONTEXT=" ${KUBE_PS1_CONTEXT:- N/ A} "
256269
257- if [[ ! -z " ${KUBE_PS1_CLUSTER_FUNCTION} " ]]; then
270+ if [[ -n " ${KUBE_PS1_CLUSTER_FUNCTION} " ]]; then
258271 KUBE_PS1_CONTEXT=$( $KUBE_PS1_CLUSTER_FUNCTION $KUBE_PS1_CONTEXT )
259272 fi
260273 fi
@@ -263,27 +276,36 @@ _kube_ps1_get_context() {
263276_kube_ps1_get_ns () {
264277 if [[ " ${KUBE_PS1_NS_ENABLE} " == true ]]; then
265278 KUBE_PS1_NAMESPACE=" $( ${KUBE_PS1_BINARY} config view --minify --output ' jsonpath={..namespace}' 2> /dev/null) "
266- # Set namespace to 'default' if it is not defined
267- KUBE_PS1_NAMESPACE=" ${KUBE_PS1_NAMESPACE:- default} "
279+ KUBE_PS1_NAMESPACE=" ${KUBE_PS1_NAMESPACE:- N/ A} "
268280
269- if [[ ! -z " ${KUBE_PS1_NAMESPACE_FUNCTION} " ]]; then
281+ if [[ -n " ${KUBE_PS1_NAMESPACE_FUNCTION} " ]]; then
270282 KUBE_PS1_NAMESPACE=$( $KUBE_PS1_NAMESPACE_FUNCTION $KUBE_PS1_NAMESPACE )
271283 fi
272284 fi
273285}
274286
275287_kube_ps1_get_context_ns () {
276288 # Set the command time
277- if [[ " ${KUBE_PS1_SHELL} " == " bash" ]]; then
289+ if [[ " $( _kube_ps1_shell_type ) " == " bash" ]]; then
278290 if (( BASH_VERSINFO[0 ] >= 4 && BASH_VERSINFO[1 ] >= 2 )) ; then
279- KUBE_PS1_LAST_TIME =$( printf ' %(%s)T' )
291+ _KUBE_PS1_LAST_TIME =$( printf ' %(%s)T' )
280292 else
281- KUBE_PS1_LAST_TIME =$( date +%s)
293+ _KUBE_PS1_LAST_TIME =$( date +%s)
282294 fi
283- elif [[ " ${KUBE_PS1_SHELL} " == " zsh" ]]; then
284- KUBE_PS1_LAST_TIME =$EPOCHREALTIME
295+ elif [[ " $( _kube_ps1_shell_type ) " == " zsh" ]]; then
296+ _KUBE_PS1_LAST_TIME =$EPOCHREALTIME
285297 fi
286298
299+ KUBE_PS1_CONTEXT=" ${KUBE_PS1_CONTEXT:- N/ A} "
300+ KUBE_PS1_NAMESPACE=" ${KUBE_PS1_NAMESPACE:- N/ A} "
301+
302+ # Cache which cfgfiles we can read in case they change.
303+ local conf
304+ _KUBE_PS1_CFGFILES_READ_CACHE=
305+ for conf in $( _kube_ps1_split_config : " ${KUBECONFIG:- ${HOME} / .kube/ config} " ) ; do
306+ [[ -r $conf ]] && _KUBE_PS1_CFGFILES_READ_CACHE+=" :$conf "
307+ done
308+
287309 _kube_ps1_get_context
288310 _kube_ps1_get_ns
289311}
@@ -321,7 +343,7 @@ kubeon() {
321343 if [[ " ${1} " == ' -h' || " ${1} " == ' --help' ]]; then
322344 _kubeon_usage
323345 elif [[ " ${1} " == ' -g' || " ${1} " == ' --global' ]]; then
324- rm -f -- " ${KUBE_PS1_DISABLE_PATH } "
346+ rm -f -- " ${_KUBE_PS1_DISABLE_PATH } "
325347 elif [[ " $# " -ne 0 ]]; then
326348 echo -e " error: unrecognized flag ${1} \\ n"
327349 _kubeon_usage
@@ -335,8 +357,8 @@ kubeoff() {
335357 if [[ " ${1} " == ' -h' || " ${1} " == ' --help' ]]; then
336358 _kubeoff_usage
337359 elif [[ " ${1} " == ' -g' || " ${1} " == ' --global' ]]; then
338- mkdir -p -- " $( dirname " ${KUBE_PS1_DISABLE_PATH } " ) "
339- touch -- " ${KUBE_PS1_DISABLE_PATH } "
360+ mkdir -p -- " $( dirname " ${_KUBE_PS1_DISABLE_PATH } " ) "
361+ touch -- " ${_KUBE_PS1_DISABLE_PATH } "
340362 elif [[ $# -ne 0 ]]; then
341363 echo " error: unrecognized flag ${1} " >&2
342364 _kubeoff_usage
@@ -365,7 +387,12 @@ kube_ps1() {
365387 fi
366388
367389 # Symbol
368- KUBE_PS1+=" $( _kube_ps1_color_fg $KUBE_PS1_SYMBOL_COLOR ) $( _kube_ps1_symbol) ${KUBE_PS1_RESET_COLOR} "
390+ if [[ " ${KUBE_PS1_SYMBOL_OC_IMG} " == true ]]; then
391+ local _KUBE_PS1_OC_SYMBOL_COLOR=red
392+ KUBE_PS1+=" $( _kube_ps1_color_fg $_KUBE_PS1_OC_SYMBOL_COLOR ) $( _kube_ps1_symbol) ${KUBE_PS1_RESET_COLOR} "
393+ else
394+ KUBE_PS1+=" $( _kube_ps1_color_fg $KUBE_PS1_SYMBOL_COLOR ) $( _kube_ps1_symbol) ${KUBE_PS1_RESET_COLOR} "
395+ fi
369396
370397 if [[ -n " ${KUBE_PS1_SEPARATOR} " ]] && [[ " ${KUBE_PS1_SYMBOL_ENABLE} " == true ]]; then
371398 KUBE_PS1+=" ${KUBE_PS1_SEPARATOR} "
0 commit comments