transform getopts of kexec to be short and clear

This commit is contained in:
hophacker 2020-10-20 13:46:00 +08:00
parent eeebaf5c63
commit aa950a33d9

View File

@ -300,31 +300,29 @@ function helm() {
function kexec { function kexec {
RAN=true RAN=true
NAMESPACE=default NAMESPACE=default
finalopts=() function usage ()
while [[ $@ != "" ]] do {
case $1 in echo "Usage : $0 [options] [--]
--context=*) Options:
KCONTEXT="${i#*=}" -C kubectl context
shift -R not randomly select pod
;; -n NAMESPACE
-R) -p PROJECT
RAN=false -h Display this message"
shift }
;; while getopts ":hvC:Rp:" opt
-p) do
PROJECT="$2" case $opt in
shift; shift C) KCONTEXT=$OPTARG ;;
;; R) RAN=false ;;
-n) h) usage; return 0 ;;
NAMESPACE="$2" n) NAMESPACE=$OPTARG ;;
shift; shift p) PROJECT=$OPTARG ;;
;; *) echo -e "\n Option does not exist : $OPTARG\n"
*) usage; return 1 ;;
finalopts+=($1)
shift
;;
esac esac
done done
shift $(($OPTIND-1))
RUNNING_POD_INDEX=-1 RUNNING_POD_INDEX=-1
while true; do while true; do
@ -373,8 +371,8 @@ function kexec {
fi fi
done done
if [[ $RUNNING_POD_INDEX != -1 ]]; then if [[ $RUNNING_POD_INDEX != -1 ]]; then
echo "kubectl -it -n $NAMESPACE exec $RUNNING_PODS[$RUNNING_POD_INDEX] -- $finalopts" echo "kubectl -it -n $NAMESPACE exec $RUNNING_PODS[$RUNNING_POD_INDEX] -- $@"
kubectl -it -n $NAMESPACE exec $RUNNING_PODS[$RUNNING_POD_INDEX] -- $finalopts kubectl -it -n $NAMESPACE exec $RUNNING_PODS[$RUNNING_POD_INDEX] -- $@
fi fi
} }