쉘스크립트 상에서 명령을 실행하여 결과를 변수에 집어 넣을려고 하는데, 명령실행이 잘안될 때가 있습니다.

dcmru의 이미지

솔라리스에서 본쉘로 스크립트를 실행합니다.

코드는 아래와 같습니다.

#!/bin/sh
 
RESULT=`./test | grep "PATTERN"`
 
echo $RESULT
 
exit 0

그런데, 위와같이 실행했을 때 ./test 가 정상적으로 실행안될 때가 있습니다.

그래서 RESULT 변수에 값이 안들어가게 됩니다.

이유가 있을까요? 파이프나 grep 와 상관이 있을까요?

아니면 다른 방법이 있는지요?

jg의 이미지

현재 디렉토리에서 실행되는 프로그램이라서 생긴 문제는 아닌가요?
프로그램은 항상 절대 경로로 사용하는 것이 좋습니다.

$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}

dcmru의 이미지

절대경로로 실행해도 같은 문제가 생깁니다.

프로그램문제일 수도 있다는 생각이 들기도 하네요 ^^;
----------------
노력만이 살길이다.

노력만이 살길이다.