다음 프로그램의 경우 내 echo$는 0을 얻습니까? 1을 예상했지만.
int main()
{
return 1;
}
답변1
프로그램은 예상대로 실행됩니다.
$ cat prog.c
int main()
{
return 1;
}
$ cc prog.c
$ ./a.out
$ echo $?
1
프로그램 실행과 출력 출력 사이에 작업을 수행하면 사용한 명령의 종료 상태가 $?
값을 덮어쓰게 됩니다. $?
예를 들어,
$ ./a.out
$ echo "I ran the program"
I ran the program
$ echo $?
0
0
종료 상태는 다음 과 같습니다 echo
.
답변2
내 시스템에서 gnu g++를 사용하여 코드를 컴파일하면 echo $? 1. c, bash, python 등의 코드에 동일한 문제가 있습니까? 또한 $?는 마지막 명령의 반환에만 적용됩니다: $? 0입니다.