Caro Júlio
Me baseando no seu comando:
$ kubectl get deployment --all-namespaces
NAMESPACE NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
deployment app-test 4 4 4 4 42m
kube-system kube-dns 1 1 1
O for que vc usou vai fazer um loop por cada elemento da linha que filtra no grep, então o que na verdade está fazendo é:
kubectl delete deployment --namespace=deployment --all
kubectl delete deployment --namespace=app-test --all
kubectl delete deployment --namespace=4 --all
...
E assim por diante.
O que poderia fazer é mudar o IFS ou usar while no lugar do for, e selecionar namespace usando cut, sed ou awk, se mudar o IFS, ou pegar pela variavel definida se usar o while.
O lance do if [[ $1 -gt 0 ]] ou [ -gt "" ] não faz sentido nenhum para mim, poie é uma comparação numérica, então suponho que esteja avaliando do terceiro ao sétimo campo para determinar qual apagar, mas do jeito que usou não sei identificar qual seria para essa comparação.
Então da linha exemplo:
deployment app-test 4 4 4 4 42m
qual a condição para apagar? se for sempre o namespace deployment, então não precisa estar no loop, mas se o deployment for apenas referência a forma de apagar precisa ser reescrita.
E qual o critério para criar o deployment de novo? Não ficou muito claro.
Se puder exiba 2 casos distintos de comando manuais nesse processo de apagar e criar descrevendo os passos.
[]'s
Itamar