반응형

리눅스에서 명령어를 사용하다 보면 결과 값을 다른 명령어로 전달하고 싶은 때가 있다. 내 경우에는 k8s pod 이름을 다른 명령어로 전달 하고 싶었다.

찾아보니 xargs 라는 명령어가 있었다.

xargs = eXtended ARGuments 
- 사용 방법 : xargs [options][command][arguments]
- 옵션 : 여러가지가 있는데 내가 사용해본 옵션만 적겠다.
  -i : 원하는 위치에 인자 입력하기  - 인자를 입력하고 싶은 위치에 {} 를 입력하여 지정할수 있다. 
  -v : 실행된 명령어 확인하기

 

k get pod -o=custom-columns='DATA:metadata.name' | grep test-[0-9] | xargs -i -t kubectl get po {}
kubectl get po test-67b7988799-j8gks
NAME                                        READY   STATUS    RESTARTS   AGE
test-67b7988799-j8gks   1/1     Running   0          17h

1. k get pod -o=custom-columns='DATA:metadata.name'  : k8s pod 이름을 검색한다.
2. grep test-[0-9] | : pod 이름중 "test-숫자" 라는 패턴의 pod 이름을 검색한다.
3. xargs -i -t kubectl get po {}검색한 pod 이름을 {} 에 넣어준다.
4. kubectl get po test-67b7988799-j8gks : -t 옵션에 의해서 실행된 명령어를 확인할 수 있다.

 

728x90
반응형

+ Recent posts