Lorsque j'utilise ci-dessous, il supprime le goussement en cours d'exécution après la correspondance du modèle de Commandline:
kubectl get pods -n bi-dev --no-headers=true | awk '/group-react/{print $1}' | xargs kubectl delete -n bi-dev pod
Cependant, lorsque j'utilise cette commande comme alias dans .bash_profile, il n'exécute pas. C'est comme ça que je l'ai défini:
alias kdpgroup="kubectl get pods -n bi-dev --no-headers=true | awk '/group-react/{print $1}'| kubectl delete -n bi-dev pod"
lors de l'exécution ceci comme ci-dessous, je reçois ci-dessous une erreur dans Commandline:
~ $ kdpgroup
error: resource(s) were provided, but no name, label selector, or --all flag specified
Quand je définis cela dans .bash_profile, je reçois ceci:
~ $ . ./.bash_profile
-bash: alias: }| xargs kubectl delete -n bi-dev pod: not found
~ $
Est-ce que je manque quelque chose pour supprimer la pod en utilisant le match ou avec Wilcard?
merci
Vous avez juste besoin d'échapper à la variable "$ 1" dans la commande AWK:
alias kdpgroup="kubectl get pods -n bi-dev --no-headers=true | awk '/group-react/{print \$1}'| xargs kubectl delete -n bi-dev pod"
Je sais que cette évasion est ennuyeuse, et si vous voulez éviter cela, vous pouvez utiliser comme fonction en vous .bash_profile:
kdpgroup() {
kubectl get pods -n default --no-headers=true | awk '{print $1}' | xargs kubectl delete pod -n default
}