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

awk 실행결과를 변수에 넣는 방법 입니다.

작성자 정보

  • 소두 작성
  • 작성일

컨텐츠 정보

본문

#!/bin/bash
set string=`awk -F: '$3 > 99 && $3 < 60000 { print $1"%"$6; }' /etc/passwd`
echo $string

사용자 계정과 홈디렉토리 경로를 string변수에 넣고 출력하는 예제인데
에코 출력이 아무것도 없네요.
왜 출력이 안될까요?

관련자료

댓글 6

문종영님의 댓글

  • 문종영
  • 작성일
set 을 빼고 실행해보세요.
자세한 내용은 메뉴얼을 보시구요.

소두님의 댓글의 댓글

  • 소두
  • 작성일
set 빼고 실행해도 안됩니다.; 답글 감사하지만 메뉴얼을 봐도 모르겠고 딱 저위에 실행 방법이 아니라 $string 도 해보고 xport string 해봐도 안되서 저런식으로 결과값을 얻을려면 어떤 방법이 있는지 알고싶어서 질문 올렸어요;

소두님의 댓글

  • 소두
  • 작성일
참고로 awk 내 스크립트에 { string=$1 } 해서 각행마다 $1을 string변수에 저장하는 방법을 알고 싶어요;ㅠㅠ

남성훈님의 댓글의 댓글

  • 남성훈
  • 작성일
각 행마다 변수를 저장 하려고 하면 배열로 저장 하시면 될거 같습니다.

배열을 정의하고 스크립트 결과를 받아서 그걸 뿌려 주면 각행마다 저장 된걸 보여 줄수 있습니다.

남성훈님의 댓글

  • 남성훈
  • 작성일
쉘 스크립트 쉽지 않죠..
저도 항상 헷갈립니다. ㅋ

일단 쉘을 작성하시면 스크립트를 디버깅 해줘야 합니다.

sh -vx script.sh 로 하면 실제로 스크립트를 실행한것을 보여 줍니다.
거기서 에러가 나는 부분에서 멈추기 때문에 어디가 에러가 났는지 알 수 있습니다.
참고 바랍니다.

다낚아님의 댓글

  • 다낚아
  • 작성일
set을 왜 썻는지 몰겠네요. -_- set만 빼시고 그대로 돌려보면 정상적으로 원하는 출력물이 나옵니다. 돌려보니깐 잘나오네요.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  83 명