%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%A0%20%EB%95%8C%20%22dc%22%20%EB%AA%85%EB%A0%B9%EC%9D%B4%20(1)%20%EC%A2%85%EB%A3%8C%EB%90%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
$ echo "$?"
0
$ echo 'q' | dc || echo "$?"
1
q
종료 사용이 dc
오류로 간주되는 이유는 무엇입니까?
(우분투 20.4에서 테스트되었습니다.)
답변1
dc
코드에 버그가 있는 것 같습니다 . 맨 아래로 이동하세요.dc/eval.c
, 817행:
reset_and_exit_quit:
reset_and_exit_fail:
signal(SIGINT, sigint_default);
return DC_FAIL;
reset_and_exit_success:
signal(SIGINT, sigint_default);
return DC_SUCCESS;
라벨은 이전이 아닌 reset_and_exit_quit
이후에 나타나야 합니다 reset_and_exit_fail
. 이는 사용자가 이유를 설명합니다.에드가 마갈론 하다아니요이런 행동을 경험하다@Suse의 사람들이 실제로 패치를 가지고 있기 때문입니다:올바른 반환 값
빠른 검색gnu-utils 메일링 리스트해당 문제와 관련된 내용은 일체 반환되지 않으니 시간 되시는 분들은 꼼꼼히 검색해 보시고, 안나오시면 신고 부탁드립니다.