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

톰캣재시작 관련 배쉬스크립트 질문입니다.

작성자 정보

  • 조백규 작성
  • 작성일

컨텐츠 정보

본문

안녕하세요.
다름이아니라 리눅스포털강좌 중 배쉬스크립트로 아파치재시작하는 부분을 보고 질문드립니다.

강좌와 비슷한 톰캣 재시작 스크립트를 작성중이었는데요.
echo `ps -ef | grep java | grep tomcat | wc -l`
와 같은 형태로 해당 명령어를 바로 실행하면 잘 실행이 되지만..

variable="ps -ef | grep java | grep tomcat | wc -l"
echo `$variable`

과 같은 형태로 해당 명령어를 변수에 담은 후에 실행시키면 에러가 납니다.
아파 치, 톰캣, 레진 등의 프로세스체크명령어를 동적으로 확인하고 싶어서 위와같이 코딩하려고 합니다.

혹시 어떤 문제인지 아시면 답변 부탁 드립니다.
위와같은 코딩이 불가능하면 코딩량이 늘어나서요 ^^;;

읽어주셔서 감사합니다.

---------------------------------------------------------------
메일로 답변을 보내주셨습니다.
---------------------------------------------------------------
안녕하세요.
수퍼유저코리아의 관리자입니다.

variable="ps -ef | grep java | grep tomcat | wc -l"
echo `$variable`

위와 같이 실행하면, ps 명령에서 "|" 까지 옵션으로 취급해 버립니다. 그렇기 때문에 알수 없는 옵션이라는 오류가 발생됩니다.

variable="`ps -ef | grep java | grep tomcat | wc -l`"
echo "$variable"

위와 같이 코딩 하시면 해결 됩니다.
---------------------------------------------------------------
안녕하세요~
해결이 된 줄 알았는데 해결이 되지 않았네요, ^^;;

제가 하고싶은 기능은 variable 변수에 해당 명령어를 보관해놓고,
원하는 시점에 해당명령어를 실행하여 그 결과값을 얻어오고 싶습니다.

보내주신

variable="`ps -ef | grep java | grep tomcat | wc -l`"
echo "$variable"
와 같은 방법으로하면 variable변수에 결과값을 저장하기때문에
동적 으로 프로세스를 체크하기가 힘들 것 같습니다.

혹시 다른 해결책 알고계신다면 답변 부탁드립니다. ^^
---------------------------------------------------------------
안녕하세요.

명령어를 변수에 넣게 되면, 전 번 메일과 같이 파이프(|)까지 옵션으로 처리하게 되는 경우가 발생합니다.
이럴 때
  alias variable="ps -ef | grep java | grep tomcat | wc -l"
  echo `variable`

위와 같이 alias를 사용하시면 해결 될 듯합니다.

-----------------------------------------------------------------
바쁘신 와중에 시간내주셔서 감사합니다.
덕분에 쉽게 해결하였습니다.
관리자님 정말 감사합니다. ^^

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,854 개
  • 현재 접속자 :  120 명