$ 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 메일링 리스트해당 문제와 관련된 내용은 일체 반환되지 않으니 시간 되시는 분들은 꼼꼼히 검색해 보시고, 안나오시면 신고 부탁드립니다.