[JM:01969] Re: [POST: RO] util-linux script.1 の引き継ぎ

Back to archive index
長南洋一 cyoic****@maple*****
2020年 11月 14日 (土) 16:29:56 JST


<STATUS>
stat: RO
ppkg: util-linux (2.36)
page: script.1
date: 2020/11/14
mail: cyoic****@maple*****
name: Chonan Yoichi
</STATUS>

翻訳完了にします。一箇所を抜かして、言い回しなど、細かい点の変更をしただけです。
その一箇所というのは、この部分。

  -c, --command command
      Run the command rather than an interactive shell.  This makes it
      easy for a script to  capture  the  output  of  a  program  that
      behaves differently when its stdout is not a tty.

"for a script to capture" の "script" を script コマンドのことだと考えて
きましたが、これは、スクリプトファイルではないかと思うようになりました。それで、
こんな風に変更しました。

      対話シェルではなく、command を直接実行する。 そうすることで、
      標準出力が端末 (tty) ではない場合に動作が違ったものになる
      プログラムの出力が、シェルスクリプトから取り込みやすくなる。

このようにした理由の一つは、ほかのところで script コマンドについて語っている場合、
冠詞なしの "script" か、定冠詞付きの "the script" を使っているのに対して、
ここだけ "a script" と不定冠詞だからです。script コマンドのことなら、やはり
ここでも "script" か "the script" になったのではないでしょうか。

理由はもう一つあります。こんなふうにシェルスクリプトを二つ作ってみます。

$ cat lstrial1.sh
#!/bin/sh
script -c "ls" -ttime1.dat out1.file

$ cat lstrial2.sh
#!/bin/sh
script -ttime2.dat out2.file <<END
ls
END

この二つのスクリプトを実行してみると、script のバージョンが 2.34、あるいは
それ以前の場合、"-c" オプションを使った lstrial1.sh では ls の結果が
out1.file に残りますが、"-c" を使わない lstrial2.sh では ls の結果が
out2.file に記録されないのです。

スクリプトの中からではなく、直接シェル上で "script -ttime.dat out.file <<END"
を実行したときは、2.34 以前でも、ls の結果がログファイル out.file に記録されます。
(なお、バージョン 2.35 以後では、どちらのスクリプトを使っても、ls の結果が
ログファイルに残ります。)

というわけで、このオプションの説明 "This makes it easy for a script
to capture the output ..." は、説明不足だと思いますが、そのへんのことを
言っている (言っていた) のではないかと思うのです。

例によって、添付ファイルの構成を書いておきます。

$ tar tzf script-2.36-rel.tar.gz 
script-2.36-rel/
script-2.36-rel/po4a/
script-2.36-rel/po4a/man1/
script-2.36-rel/po4a/man1/script.patch
script-2.36-rel/po4a/man1/script.po
script-2.36-rel/release/
script-2.36-rel/release/man1/
script-2.36-rel/release/man1/script.1
script-2.36-rel/original/
script-2.36-rel/original/man1/
script-2.36-rel/original/man1/script.1

-- 
長南洋一
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: script-2.36-rel.tar.gz
型:         application/octet-stream
サイズ:     15806 バイト
説明:       無し
URL:        <https://lists.osdn.me/mailman/archives/linuxjm-discuss/attachments/20201114/ad9c0498/attachment.obj>


linuxjm-discuss メーリングリストの案内
Back to archive index