프롬프트 상에서 지나가는 문자열을 잡아서 실행 중인 스크립트를 강제 종료시킬 수 있는 방법이 궁금합니다.
글쓴이: gsy703 / 작성시간: 수, 2008/08/27 - 4:37오후
만약 리눅스에서
program1 start
program2 start
program3 start
이런 스크립트를 만들었다고 가정하고,
각 프로그램들이 잘 수행되면 Done 이라는 문자열를 프롬프트 상에 Display하고,
문제가 있을 경우에는 Error라는 문자열을 Display 한다고 가정하겠습니다.
program1이 실행되고 문제가 있어서 Error 문자열이
프롬프트상에 출력되었다면 이 문자열을 프롬프트 상에서 잡아서
스크립트 전체를 강제 종료시켜 버리게 하고 싶습니다.
이런게 가능한가요? 그리고 가능하다면 어떻게 하면 되는지 알고 싶습니다.
프롬프트 상에서 흘러가는 문자들을 캡쳐해서 조건에 부합되는지 검사를 해야될 것 같은데,
방법을 모르겠습니다. 조언 부탁드립니다.
Forums:
expect script 를 사용하시면 됩니다.
expect script 를 사용하시면 딱 원하시는 바를 쉽게 구현할 수 있습니다.
expect 는 tcl 을 기반으로한 script 언어인데, 원하시는 작업과 같은 것을 가장 간단하게 할 수 있는 녀석입니다.
자세한 것은 expect 쪽을 보시면 될 것입니다.
(대충 send 하고 expect 명령을 이용하시면 될 듯 한데... 좀 더 자세한 것은 expect 문서를 보세요. ~_~)
(program1 | grep Error) ||
#/bin/sh
(program1 | grep Error) || (program2 | grep Error) || (program3 | grep Error)
--
Life is short. damn short...
--
Life is short. damn short...
음...
문자열을 출력하고 종료 하는 프로그램이라면,
출력되는 문자열을 확인하는 것 보다는, 프로그램 종료 값을 확인 하는 것은 어떤가요?
DOS시절에는 ERRORLEVEL..?
리눅스에서는 $?
http://nicesj.com
https://nicesj.com
https://blog.nicesj.com
답변 주신 분들 모두 감사드립니다.^^
답변 주신 분들 모두 감사드립니다.
달아주신 의견들을 참조하여 또 열심히 파해쳐 보아야 겠습니다.
원하는 동작을 얻게 되면 다시 댓글을 달도록 하겠습니다.
그럼 답글 주신 모든 분들 즐거운 하루 되십시오.
댓글 달기