본문 바로가기

Linux

C 에서 shell 의 return 값 받아오기

반응형

shell을 만든다.

#!/bin/sh

echo "shell : system call"

exit 4

# C program으로 4를 반환한다.

C code를 생성한다.

#include <stdio.h>
#include <sys/wait.h>

int main(int argc, char* argv)
{
int rtn = 0;
printf("rtn = %d : system call \n", rtn);
rtn = system("./a.sh"); // a.sh을 실행한다.

printf("result = %d\n " , rtn); // a.sh로 반환된 값을 찍는다.
printf("result = %d\n ", WEXITSTATUS(rtn)); // a.sh로 반환된 값을 함수를 통해 실제 정수로 변환한다.

return 0;
}