<STATUS> stat: DP ppkg: util-linux (2.36) page: script.1 date: 2020/11/02 mail: cyoic****@maple***** name: Chonan Yoichi </STATUS> これも引き継ぎます。script 関係は util-linux 2.35 で大幅な変更が 行われました。私は 2.35.2 を訳していたのですが、ふと最近のディストリ ビューションで使われているバージョンを調べてみたら、どうやら 2.36 の ようです (このパッケージでは、偶数が安定版という習慣がまだ生きている のでしょうか)。それで、2.36 にバージョンアップしておきます。 今、気が付いたのですが ...。 debian の script 関連コマンドは、bsdutils というパッケージに入っています (util-linux というパッケージもある)。でも、その bsdutils の script などは、 util-linux の開発元の script などと同じものなのですね。debian の script.1 (英文) の末尾にも、しっかり "The script command is part of the util-linux package ..." と書いてありました。ということは、この訳文は debian でも使えるってことですね。 なお、例によって、自分で一通り訳した後、前の翻訳や佐藤さんの翻訳と突き合わせて、 訳文のチェックをしました。そのため、先行の訳とは意味は同じでも、表現が微妙に 違うところがたくさんあります。 ○ typescript: まず、typescript をどう訳すか考えてしまいました。原文では、 "typescript", "type script file", "typescript file", "log file" を混ぜて使っています。先行する翻訳の「写し」も訳語として あると思いますが、「写し」はどちらかと言うと、2.34 の scriptreplay に 出てくる transcript にふさわしいのではないでしょうか (2.36 では その transcript が typescript に変更されています)。私は、初出では、 「忠実な記録 (タイプスクリプト、typescript)」とし、以下では、 ほぼ原文のとおりに、タイプスクリプト、タイプスクリプトファイル、 ログファイルを使っておきました。 ○ -e, --return: これは、バージョン 2.34 や 2.35 の原文がおかしい。2.36 では、次のように なっています。 Return the exit status of the child process. Uses the same format as bash termination on signal termination (i.e., exit status is 128 + the signal number). The exit status of the child process is always stored in the type script file too. 子プロセスの終了ステータスを返す (訳注: 詳しく言うと、script 上で 最後に実行したプロセスの終了ステータスを script の終了ステータスとして 返すようにする)。子プロセスがシグナルによって終了させられたときの 終了ステータスには、bash の場合と同じ形式を使用する (すなわち、 「128 + シグナル番号」である)。子プロセスのその終了ステータスは、 タイプスクリプトファイルにも常に記録される。 ピッタリな訳ではないかもしれませんが、だいたいそんな意味でしょう。 ○ -f, --flush: ... Note that flush has an impact on performance; it's possible to use SIGUSR1 to flush logs on demand. ... 頻繁にフラッシュすると、パフォーマンスに影響が出ることに注意して いただきたい。SIGUSR1 シグナルを使って、オンデマンドでログをフラッシュ することもできる。 「頻繁に」と補足しましたが、そういうことですね? それから、"on demand" のよい訳語がないでしょうか。「やりたいときに」? 「フラッシュ」は「フラッシュ」でいいですね? 「書き出す、吐き出す」 なども考えましたが。 ○ -I, --log-in file: Log input to the file. The log output is disabled if only --log-in specified. この "The log output" というのは、「出力のログ」なんでしょうか、それとも 「ログ出力」なんでしょうか。意味的には、「--log-in だけ指定すると、 入力のログは作成されても、出力のログは作成されない」ということだと思うので、 一応次のように訳しておきました。冒頭の "Log input"に引かれて、"output log" と言うべきところが、"log output" になってしまったんでしょうか。 入力を file に記録する。--log-in だけを指定すると、出力のログは 作成されないことになる。 ○ NOTES: Certain interactive commands, such as vi(1), create garbage in the typescript file. script works best with commands that do not manipulate the screen, the results are meant to emulate a hardcopy terminal. vi のような対話的なコマンドには、タイプスクリプトファイルにゴミを作るものがある。 script は、複雑な画面処理をしないコマンドを使ったとき、一番うまく行く。 作成されるタイプスクリプトは、ハードコピー端末 (訳注: スクリーンではなく、 紙に出力する端末。テレタイプがその一例) を真似るようになっているのである。 "hardcopy terminal" は、説明がないと何だかわからないので、Google で 調べて、訳注を付けましたが、これで間違っていませんか。 それから、"the results" をどう考えればよいかも、イマイチわかりません。 ○ NOTES の次の部分もこう訳してよいかどうか: ... You can use for example the .profile file, which is read by login shells only: ... たとえば、以下のような .profile ファイルを使うことができるが、 これなら読み込むのは、ログインシェルだけになる。 if test -t 0 ; then script exit fi ○ NOTES からもうひとつ: You should also avoid use of script in command pipes, as script can read more input than you would expect. また、パイプを使ったコマンドで script を使うのも避けたほうがよい。 script が、ユーザの思っている以上に入力を読み込むかもしれないからである。 "command pipes" というのは、何なんでしょう。パイプはコマンドなんで しょうか。佐藤さんの訳は、「script はあなたが思うより多くの入力を 読み込む可能性があるので、コマンドのパイプから script を使うことも避ける べきである」ですが、これも、どういうことを言っているのかよくわかりません。 "in command pipes" で「コマンド中のパイプで」ということかもしれませんが、 それは、「パイプを使ったコマンドで」と意味的には大して違わないでしょ。 大体、「(パイプで script を使うと) script が、ユーザの思っている以上に 入力を読み込むかもしれない」というのは、どういうことなんでしょう。 原文は、「バグ」セクションでも、パイプを使った場合について書いていますが、 同じことを言っているんでしょうか。「バグ」セクションの該当部分は、こんな具合 です。「『注意』セクションを見ろ」と言っているんですから、関係があるんで しょうが、私にはどう関係しているのかさっぱりわかりません。 script is primarily designed for interactive terminal sessions. When stdin is not a terminal (for example: echo foo | script), then the session can hang, because the interactive shell within the script session misses EOF and script has no clue when to close the session. See the NOTES section for more information. script は、そもそも対話的な端末セッションを対象に設計されている。 その ため、標準入力が端末でないときは (たとえば、echo foo | script)、 セッ ションがハングするかもしれない。何故なら、script セッション内の対話的 シェルが EOF を受け取りそこなうと、script としては、いつセッションを閉 じればよいのか、手がかりをつかめないからである。 詳しくは、「注意」セク ションをご覧になっていただきたい。 ゴタゴタ書いてきましたが、要するに、「NOTES」と「BUGS」のセクションは、 よく分かっていません。もっとスッキリした解釈や、筋の通った翻訳の案があれば、 よろこんで承ります。 添付ファイルの構成は、以下のとおりです。 script.po では、po4a-translate に -o unknown_macros=untranslated は 必要ありません。 $ tar tzf script-2.36.tar.gz script-2.36/ script-2.36/po4a/ script-2.36/po4a/man1/ script-2.36/po4a/man1/script.patch script-2.36/po4a/man1/script.po script-2.36/original/ script-2.36/original/man1/ script-2.36/original/man1/script.1 script-2.36/draft/ script-2.36/draft/man1/ script-2.36/draft/man1/script.1 -- 長南洋一 -------------- next part -------------- テキスト形式以外の添付ファイルを保管しました... ファイル名: script-2.36.tar.gz 型: application/octet-stream サイズ: 16213 バイト 説明: 無し URL: <https://lists.osdn.me/mailman/archives/linuxjm-discuss/attachments/20201105/8276d544/attachment-0001.obj>