2012-11-26 6 views
4

C에서 프로그램을 만들었습니다. 프로그램에서 반환하는 값을 확인하는 방법을 알고 싶습니다 ... 코드 끝에는 오류가 발생하지 않으면 프로그램이 0을 반환합니다. 오류가 발생하면 프로그램에서 1을 반환해야합니다. 문제가 있습니다. 문제가 발생하면 실제로 1이 반환되는지 확인하고 싶습니다. 메모리 누수 등, 저는 리눅스에서 valgrind를 사용하고 있습니다. 도움 주셔서 감사합니다.내 프로그램이 반환하는 값을 확인하는 방법은 무엇입니까?

+1

사용을 반환하는 경우에만 myprog2을 실행

또는

을 "문제가 발생했습니다"?'프로그램 반환 값을 확인하는 에코. –

답변

6

당신은 특별한 쉘 변수 $?, 예를 들어, 인쇄 할 수 있습니다

$ ./my_program ; echo "status = $?" 
2

난 당신이 사용하여 반환 값을 스크립트에서 프로그램을 호출하고 확인 $?

찾고있는 생각을 $?

$?---it actually check the return code of the previously executed statement. 
2

간단합니다.

프로그램 종료 후 터미널에 echo $?을 사용하십시오.

그것은 이전에 실행 된 명령

를 들면의 반환 값을 준다

./my_program.out // execution of program 
echo $? // checking the return value , printing on terminal 
0

일반적으로 당신이 특정 반환 코드를 고려하지 않아도, 당신이 뭔가 0이 아닌 반환 된 경우 감지 쉘 논리를 사용할 수 있습니다.

오류가 반환 된 경우에만 메시지를 인쇄하십시오.
./myprog || myprog1가`성공을 에코 $를
./myprog1 & & ./myprog2

관련 문제