Jiro Matsuzawa
jmats****@gnome*****
2015年 1月 2日 (金) 13:04:21 JST
松澤です。 bashマニュアルの以下のifコマンド自体の終了ステータスの翻訳について改善の提案です。 原文: The exit status is the exit status of the last command executed, or zero if no condition tested true. 現状の翻訳: 終了ステータスは最後に実行されたコマンドの終了ステータスですが、 真と評価された条件が全くない場合には 0 となります。 提案1: 終了ステータスは最後に実行されたコマンドの終了ステータスとなります。どの条件も真と評価されず、コマンドが全く実行されなかった場合、終了ステータスは 0 となります。 提案2: 終了ステータスは最後に実行されたコマンドの終了ステータスとなります。コマンドが全く実行されなかった場合は、真と評価された条件が全くなければ、終了ステータスは 0 となります。 提案のポイントは、現状の翻訳だと、真と評価された条件が全くない場合は、最終コマンドの有無に関わらず0が必ず返るようにも解釈できてしまう、ということです。たとえば、どの条件も真とならずにelse内のコマンドが実行された場合に、最終コマンドの終了ステータスが返るのか、0が返るのか曖昧だということです。原文では、", or..."となっており、実行されたコマンドがなければ0が返るということが論理的に明確になっています。 提案の訳文について、個人的に提案1が好みですが、原文の構成とちょっと異なるので嫌う人も多いかと想像します。 提案2は、原文の構成により近づけています。元訳にも近いと思います。 上記の曖昧さがなくなれば、最終的にどういう訳文になるかはあまりこだわっていません。 参考までに実際の挙動例としては、 $ if false; then :; fi; echo $? 0 $ if false; then :; else false; fi; echo $? 1 $ bash --version GNU bash, version 4.2.53(1)-release (x86_64-redhat-linux-gnu) Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. 以上です。 -- Jiro Matsuzawa Email: jmats****@gnome***** GPG Key ID: 0xECC442E9