[unix shell]변수에 명령어 라인 넣고 실행하기
매우 간단한 문제인데 심화된 변수처리 능력이 모잘라서 고생중입니다.
문제는
어떤 text 파일에서
1223,2355 ,ps -ef | grep ora_pmon_SCAS | grep -v grep | wc -l,ne ,1 이런식의 data가 있으면
shell을 이용하여
START_TIME=`echo $line | cut -f 1 -d ","`
END_TIME=`echo $line | cut -f 2 -d ","`
CHECK_METHOD=`echo $line | cut -f 3 -d ","`
COMPARE_UNIT=`echo $line | cut -f 4 -d ","`
NORMAL_COUNT=`echo $line | cut -f 5 -d ","` 잘라서 변수에 넣습니다.
문제는 CHECK_METHOD에 들어가는 내용이 ps -ef | grep ora_pmon_SCAS | grep -v grep | wc -l 이거인데
이 문장인 CHECK_METHOD 변수에는 문자열로 들어가서 실행을 시킬 방법이 없다는 것입니다.
CHECK_METHOD의 실행 결과는 linecount인데 변수에 있는 명령어 열을 변수형태로 실행 시킬 수 있는 방법이 있을까요 24시간 째 고민 중입니다.
CURRENT_COUNT=$CHECK_METHOD 이런식으로 실행을 시켜서 CURRENT_COUNT라는 변수에 결과 값을 넣고 싶은데....
감사합니다.
질문을 잘 이해하진
질문을 잘 이해하진 못했습니다만...
변수저장된 명령을 실행시켜 그 결과를 다시 변수에 저장하고 싶다면 질문에 써놓으신 것과 같이 다음처럼 처리하면 되지 않나요?
CHECK_METHOD="ls -l"
CURRENT_COUNT=`$CHECK_METHOD`
echo $CURRENT_COUNT
댓글 달기