q(uit) を使用すると、「dc」コマンドが (1) 終了するのはなぜですか?

q(uit) を使用すると、「dc」コマンドが (1) 終了するのはなぜですか?
$ echo "$?"
0
$ echo 'q' | dc || echo "$?"
1

q終了使用がdcエラーと見なされるのはなぜですか?

(Ubuntu 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メーリングリスト該当の問題に関する内容は一切返されませんので、時間になる方は入念に検索してみてください。

おすすめ記事