질문&답변
클라우드/리눅스에 관한 질문과 답변을 주고 받는 곳입니다.
리눅스 분류

명령 결과를 변수로 저장하는 방법?

작성자 정보

  • 홍보성 작성
  • 작성일

컨텐츠 정보

본문

김정민 님의 글


안녕하세요 요즘 모니터링 서버 만드느라 한창인데요 어렵네요

getdisk.sh 에 아래와 같은 내용이 있습니다.

./check_nt -H $1 -p $2 -v USEDDISKSPACE -l $3 -w $4 -c $5 같은 명령어를 실행하면

"C: - total: 16.98 Gb - used: 5.00 Gb (29%) - free 11.98 Gb (71%)" 이게 결과 값으로 나오는데,

awk로 잡은 결과값의 각각의 행을 변수로 저장하고 싶은데 어떤식으로 해야하는건가요?

 

보통 변수로 만들려면 원하는 값을 하나씩 밖에 못가져오죠.

실제 awk는 복수로 가져오는게 가능하지만 변수로 분리해서 알아서 넣어주는 기능은 없죠. cshell을 써서 프로그래밍 하면 되겠지만..

일단 awk로 하는 방법은..

total=`check_nt -H $1 -p $2 -v USEDDISKSPACE -l $3 -w $4 -c $5 | awk '{print $4}'`

used=`check_nt -H $1 -p $2 -v USEDDISKSPACE -l $3 -w $4 -c $5 | awk '{print $8}'`

이런식으로 하나하나 가져오는 방법으로 가능하겠죠.

숫자 변수 타입으로 쓰시는 데이터라면 가져올 변수 앞에 @를 붙여줘야 겠죠.

check_nt를 할때마다 트래픽이나 부하가 걸린다면 명령 결과를 텍스트 파일로 저장한 후 해당 파일을 echo 로 awk 찍어서 가져오는 방법을 서도 되겠죠. ㅎ



 

 




 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,074 명
  • 현재 강좌수 :  35,995 개
  • 현재 접속자 :  542 명