Man page - script(1)
Packages contains this manual
Available languages:
en pl ja ro sr deManual
SCRIPT
名 前書 式
バ ー ジ ョ ン に つ い て
説 明
オ プ シ ョ ン
シ グ ナ ル
環 境 変 数
注 意
歴 史
バ グ
関 連 項 目
入 手 方 法
名 前
script - 端 末 セ ッ シ ョ ン の 忠 実 な 記 録 を 作 成 す る
書 式
script [options] [ file ]
バ ー ジ ョ ン に つ い て
こ の マ ニ ュ ア ル は 、 util-linux 2.36 所 収 の script コ マ ン ド の マ ニ ュ ア ル で あ る 。 script コ マ ン ド は util-linux 2.35 で か な り 大 幅 な 改 訂 が 行 わ れ た 。 そ の た め 、 バ ー ジ ョ ン 2.34 以 前 の script で は 、 こ の マ ニ ュ ア ル で 述 べ て い る 機 能 や オ プ シ ョ ン に 使 え な い も の が あ る と 思 う 。 バ ー ジ ョ ン 2.34 や そ れ 以 前 の script の 動 作 や オ プ シ ョ ン に つ い て は 、 付 属 の 英 語 マ ニ ュ ア ル を ご 覧 い た だ き た い 。
説 明
script は 、 端 末 セ ッ シ ョ ン で 行 わ れ る す べ て に つ い て 忠 実 な 記 録 (タ イ プ ス ク リ プ ト 、 typescript) を 作 成 す る 。 端 末 上 の デ ー タ は 、 未 加 工 の ま ま (in raw form) ロ グ フ ァ イ ル に 記 録 さ れ 、 タ イ ミ ン グ に 関 す る 情 報 は 、 (作 成 す る 、 し な い が 任 意 の ) 構 造 化 さ れ た 別 の ロ グ フ ァ イ ル に 記 録 さ れ る 。 こ の タ イ ミ ン グ の ロ グ フ ァ イ ル は 、 後 で scriptreplay (1) を 使 用 し て 、 セ ッ シ ョ ン を 再 生 す る た め に も 、 ま た セ ッ シ ョ ン に 関 す る 補 足 情 報 を 記 録 す る た め に も 必 要 で あ る 。
バ ー ジ ョ ン 2.35 以 降 の script は 、 複 数 ス ト リ ー ム を サ ポ ー ト し 、 入 力 と 出 力 を 別 々 の フ ァ イ ル に 記 録 す る こ と も 、 両 者 を 一 つ の フ ァ イ ル に 記 録 す る こ と も 可 能 に な っ て い る 。 ま た そ う し た バ ー ジ ョ ン で は 、 補 足 情 報 を 記 録 す る 新 型 の タ イ ミ ン グ フ ァ イ ル も 使 用 で き る 。 scriptreplay --summary と い う コ マ ン ド を 使 え ば 、 そ う し た 補 足 情 報 の す べ て を 見 る こ と が で き る 。
引 き 数 の file や オ プ シ ョ ン の --log-out file を 指 定 す る と 、 script は セ ッ シ ョ ン の や り 取 り を file と い う 名 前 の フ ァ イ ル に 記 録 す る 。 フ ァ イ ル 名 を 指 定 し な い 場 合 は 、 セ ッ シ ョ ン の や り 取 り を typescript と い う フ ァ イ ル に 記 録 す る こ と に な る 。
--log-in や --log-io を 使 っ て 入 力 の ロ グ を 取 る と 、 セ キ ュ リ テ ィ 的 に 危 険 な 情 報 ま で 記 録 さ れ る こ と に な る か も し れ な い 。 端 末 の エ コ ー フ ラ グ (echo flag) の 設 定 が ど う な っ て い よ う と 、 ロ グ フ ァ イ ル に 端 末 セ ッ シ ョ ン に お け る す べ て の 入 力 が 書 き 込 ま れ る か ら で あ る (た と え ば 、 パ ス ワ ー ド ま で も )。
オ プ シ ョ ン
以
下 で 使 用 す る
引 き 数
size
の 後
ろ に は 、 KiB (=1024), MiB
(=1024*1024) の よ う な 乗
数 を 表 す 接 尾
辞 を 付 け る こ
と が で き る 。 GiB,
TiB, PiB, EiB, ZiB, YiB も 同 様 に
使 え る ("iB" を
続 け る の は 任
意 で あ り 、 た
と え ば 、 "K" は
"KiB" と 同 じ 意 味
で あ る )。 ま た
、 KB (=1000), MB (=1000*1000) の よ
う な 接 尾 辞 を
付 け て も よ い
。 GB, TB, PB, EB, ZB, YB も 同 様
に 使 え る 。
-a
,
--append
出 力 を file や typescript に 追 加 す る 。 フ ァ イ ル の 既 存 の 内 容 は そ の ま ま 保 持 さ れ る 。
-c , --command command
対 話 シ ェ ル で は な く 、 command を 直 接 実 行 す る 。 そ う す る こ と で 、 標 準 出 力 が 端 末 (tty) で は な い 場 合 に 動 作 が 違 っ た も の に な る プ ロ グ ラ ム の 出 力 が 、 取 り 込 み や す く な る 。
-E , --echo when
こ の オ プ シ ョ ン は 、 セ ッ シ ョ ン 中 で 使 わ れ る 疑 似 端 末 の ECHO フ ラ グ を 制 御 す る 。 サ ポ ー ト さ れ る モ ー ド は 、 always , never , auto で あ る 。 デ フ ォ ル ト は auto で あ り 、 そ の 場 合 は 、 目 下 の 標 準 入 力 が 端 末 な ら ば 、 二 重 の エ コ ー を 避 け る た め に 、 ECHO は 抑 止 さ れ 、 標 準 入 力 が 端 末 で な い な ら ば (た と え ば 、 echo date | script の よ う に 、 標 準 入 力 が パ イ プ の 場 合 )、 セ ッ シ ョ ン ロ グ に 入 力 の 記 録 漏 れ が 起 き な い よ う に 、 ECHO は 有 効 に な る 。
-e , --return
子 プ ロ セ ス の 終 了 ス テ ー タ ス を 返 す (訳 注 : 詳 し く 言 う と 、 script 上 で 最 後 に 実 行 し た プ ロ セ ス の 終 了 ス テ ー タ ス を script の 終 了 ス テ ー タ ス と し て 返 す よ う に す る )。 子 プ ロ セ ス が シ グ ナ ル に よ っ て 終 了 さ せ ら れ た と き の 終 了 ス テ ー タ ス に は 、 bash の 場 合 と 同 じ 形 式 を 使 用 す る (す な わ ち 、 「 128 + シ グ ナ ル 番 号 」 で あ る )。 子 プ ロ セ ス の そ の 終 了 ス テ ー タ ス は 、 タ イ プ ス ク リ プ ト フ ァ イ ル に も 常 に 記 録 さ れ る 。
-f , --flush
書 き 込 み を す る た び に 出 力 を フ ラ ッ シ ュ す る 。 離 れ た 場 所 で 共 同 作 業 を し て い る と き 、 こ れ は 役 に 立 つ 。 片 方 が ‘mkfifo foo; script -f foo’ を す れ ば 、 も う 一 方 は ‘cat foo’ を 使 っ て 、 相 手 が 何 を や っ て い る か リ ア ル タ イ ム で 監 視 で き る わ け で あ る 。 頻 繁 に フ ラ ッ シ ュ す る と 、 パ フ ォ ー マ ン ス に 影 響 が 出 る こ と に 注 意 し て い た だ き た い 。 SIGUSR1 シ グ ナ ル を 使 っ て 、 オ ン デ マ ン ド で ロ グ を フ ラ ッ シ ュ す る こ と も で き る 。
--force
デ フ ォ ル ト の 出 力 フ ァ イ ル typescript が ハ ー ド リ ン ク や シ ン ボ リ ッ ク リ ン ク で あ っ て も よ い こ と に す る 。 す な わ ち 、 script コ マ ン ド が シ ン ボ リ ッ ク を た ど る よ う に な る 。
-B , --log-io file
入 力 と 出 力 の ロ グ を 同 じ フ ァ イ ル file に 記 録 す る 。 注 意 し て ほ し い が 、 こ の オ プ シ ョ ン に 意 味 が あ る の は 、 --log-timing オ プ シ ョ ン も 一 緒 に 指 定 し た 場 合 だ け で あ る 。 そ う し な い と 、 ロ グ フ ァ イ ル file 中 の 出 力 ス ト リ ー ム と 入 力 ス ト リ ー ム を 分 離 で き な い こ と に な る 。
-I , --log-in file
入 力 を file に 記 録 す る 。 --log-in だ け を 指 定 す る と 、 出 力 の ロ グ は 作 成 さ れ な い こ と に な る 。
こ の ロ グ 機 能 を 使 う と き は 、 気 を 付 け て い た だ き た い 。 端 末 で エ コ ー フ ラ グ を 「 抑 止 」 に し て い る と き の 入 力 も 含 め て 、 す べ て の 入 力 を 記 録 す る か ら で あ る (た と え ば 、 パ ス ワ ー ド の 入 力 も 記 録 す る )。
-O , --log-out file
出 力 を file に 記 録 す る 。 オ プ シ ョ ン --log-out や --log-in を 指 定 し な い 場 合 、 出 力 が 記 録 さ れ る の は 、 デ フ ォ ル ト で は typescript と い う 名 前 の フ ァ イ ル で あ る 。 --log-in だ け を 指 定 す る と 、 出 力 の ロ グ は 作 成 さ れ な い こ と に な る 。
-T , --log-timing file
タ イ ミ ン グ 情 報 を file に 記 録 す る 。 現 在 で は 、 タ イ ミ ン グ フ ァ イ ル に 2 種 類 の フ ォ ー マ ッ ト が 使 用 で き る よ う に な っ て い る 。 classic (従 来 型 ) フ ォ ー マ ッ ト は 、 (入 力 な り 、 出 力 な り ) 片 方 の ス ト リ ー ム の ロ ギ ン グ の み が 有 効 に な っ て い る 場 合 に 使 用 さ れ る 。 マ ル チ ス ト リ ー ム 型 の フ ォ ー マ ッ ト が 使 用 さ れ る の は 、 --log-io の と き か 、 --log-in と --log-out が 一 緒 に 使 わ れ て い る と き で あ る 。 --logging-format も 参 照 し て い た だ き た い 。
|
[ 訳 注 ] |
次 の --logging-format に つ い て も 言 え る こ と だ が 、 「 デ フ ォ ル ト で は 、 --log-in さ え 指 定 さ れ て い れ ば 、 --log-out が 指 定 さ れ て い な い で も 、 advanced (新 型 ) フ ォ ー マ ッ ト が 使 用 さ れ る 」 、 と い う の が 正 確 な 説 明 の よ う だ 。 --log-in だ け 指 定 す る と い う の は 、 scriptlive で の 再 実 行 を 考 え て い る の で な い か ぎ り 、 意 味 の な い こ と だ が 。 |
-m , --logging-format format
タ イ ミ ン グ フ ァ イ ル に 強 制 的 に advanced (新 型 ) ま た は classic (従 来 型 ) フ ォ ー マ ッ ト を 使 用 さ せ る 。 デ フ ォ ル ト は 、 出 力 の み を ロ グ に 記 録 す る 場 合 は 、 従 来 型 で あ り 、 入 力 と 出 力 、 両 方 の ロ ギ ン グ が 要 求 さ れ て い る 場 合 は 、 新 型 で あ る 。
classic フ ォ ー マ ッ ト
ロ グ は 、 ス ペ ー ス で 区 切 ら れ た 二 つ の フ ィ ー ル ド か ら な る 。 最 初 の フ ィ ー ル ド は 、 前 回 の 出 力 か ら 経 過 し た 時 間 を 示 し 、 2 番 目 の フ ィ ー ル ド は 、 今 回 、 何 文 字 (characters) 出 力 し た か を 示 し て い る 。
advanced (multi-stream) フ ォ ー マ ッ ト
最 初 の フ ィ ー ル ド は 、 記 載 事 項 の タ イ プ 識 別 子 で あ る (’I’nput, ’O’utput, ’H’eader, ’S’ignal)。 2 番 目 の フ ィ ー ル ド は 、 前 回 の 記 録 か ら 経 過 し た 時 間 。 そ し て 、 記 載 事 項 の 残 り の 部 分 は 、 タ イ プ 特 有 の デ ー タ で あ る 。
-o , --output-limit size
タ イ プ ス ク リ プ ト フ ァ イ ル や タ イ ミ ン グ フ ァ イ ル の 上 限 を size ま で と し 、 そ の サ イ ズ を 越 え た ら 、 子 プ ロ セ ス を ス ト ッ プ す る 。 フ ァ イ ル サ イ ズ の 計 算 に は 、 script コ マ ン ド が 子 プ ロ セ ス の 出 力 の 前 後 に 付 け る 開 始 や 終 了 の メ ッ セ ー ジ は 入 ら な い 。 バ ッ フ ァ リ ン グ の せ い で 、 生 成 さ れ る 出 力 フ ァ イ ル が 、 指 定 し た 値 よ り 大 き く な る こ と が あ る 。
-q , --quiet
寡 黙 モ ー ド (開 始 や 終 了 の メ ッ セ ー ジ を 標 準 出 力 に 書 き 出 さ な い )。
-t [ file ], --timing [= file ]
タ イ ミ ン グ デ ー タ を 標 準 エ ラ ー に 出 力 す る 。 file を 指 定 し た 場 合 は 、 タ イ ミ ン グ デ ー タ の 出 力 先 が そ の フ ァ イ ル に な る (訳 注 : 短 い オ プ シ ョ ン -t と タ イ ミ ン グ フ ァ イ ル 名 は 、 間 に 空 白 を 入 れ ず 、 続 け て 書 か な け れ ば な ら な い 。 そ う し な い と 、 タ イ ミ ン グ デ ー タ が 標 準 エ ラ ー に 出 力 さ れ て し ま う )。 こ の オ プ シ ョ ン は 非 推 奨 で あ り 、 --log-timing の 使 用 を お 勧 め す る 。 な お 、 --log-timing で は 、 引 き 数 file の 指 定 は 任 意 で は な い (訳 注 : つ ま り 、 必 須 で あ る )。
-V , --version
バ ー ジ ョ ン 情 報 を 表 示 し て 終 了 す る 。
-h , --help
ヘ ル プ を 表 示 し て 終 了 す る 。
シ グ ナ ル
SIGUSR1 を 受 け 取 る と 、 script は 直 ち に バ ッ フ ァ の 内 容 を 出 力 フ ァ イ ル に フ ラ ッ シ ュ す る 。
環 境 変 数
次 の 環 境 変 数 を script は 利 用 す る 。
|
SHELL |
環 境 変 数 SHELL が 存 在 す れ ば 、 script か ら フ ォ ー ク す る シ ェ ル は 、 そ の シ ェ ル に な る 。 SHELL が 設 定 さ れ て い な い 場 合 は 、 Bourne シ ェ ル だ と 見 な さ れ る (ほ と ん ど の シ ェ ル が 、 こ の 変 数 を 自 動 的 に 設 定 す る )。 |
注 意
script コ マ ン ド が 記 録 を 終 え る の は 、 フ ォ ー ク し た シ ェ ル が 終 了 す る と き で あ る (Bourne シ ェ ル ( sh (1p)) で は 、 control-D で 終 了 す る 。 C シ ェ ル ( csh (1)) で は 、 exit , logout 、 あ る い は ( ignoreeof が 設 定 さ れ て い な い 場 合 は ) control-D で 終 了 す る )。
vi の よ う な 対 話 的 な コ マ ン ド に は 、 タ イ プ ス ク リ プ ト フ ァ イ ル に ゴ ミ を 作 る も の が あ る 。 script は 、 複 雑 な 画 面 処 理 を し な い コ マ ン ド を 使 っ た と き 、 一 番 う ま く 行 く 。 作 成 さ れ る 記 録 は 、 ハ ー ド コ ピ ー 端 末 (訳 注 : ス ク リ ー ン で は な く 、 紙 に 出 力 す る 端 末 。 テ レ タ イ プ が そ の 一 例 ) を エ ミ ュ レ ー ト す る よ う に な っ て い る の で あ る 。
script を 非 対 話 的 シ ェ ル で 動 か す の は 、 お 勧 め で き な い 。 script の 内 側 の シ ェ ル は 、 常 に 対 話 的 で あ り 、 そ の た め 予 期 せ ぬ 結 果 を も た ら す か も し れ な い か ら だ 。 も し 、 script を シ ェ ル の 初 期 化 フ ァ イ ル で 使 用 す る の な ら 、 無 限 ル ー プ に 陥 ら な い よ う に 気 を 付 け な け れ ば な ら な い 。 た と え ば 、 以 下 の よ う な .profile フ ァ イ ル を 使 う こ と が で き る が 、 こ れ な ら 読 み 込 む の は 、 ロ グ イ ン シ ェ ル だ け に な る 。
if test -t 0 ;
then
script
exit
fi
ま た 、 パ イ プ を 使 っ た コ マ ン ド で script を 使 う の も 避 け た ほ う が よ い 。 script が 、 ユ ー ザ の 思 っ て い る 以 上 に 入 力 を 読 み 込 む か も し れ な い か ら で あ る 。
歴 史
script コ マ ン ド は 3.0BSD で 登 場 し た 。
バ グ
script は 、 ラ イ ン フ ィ ー ド や バ ッ ク ス ペ ー ス も 含 め て 、 す べ て を ロ グ フ ァ イ ル に 書 き 込 む 。 こ れ は 、 初 心 ユ ー ザ の 予 想 す る 動 作 で は な い だ ろ う 。
script は 、 そ も そ も 対 話 的 な 端 末 セ ッ シ ョ ン を 対 象 に 設 計 さ れ て い る 。 そ の た め 、 標 準 入 力 が 端 末 で な い と き は (た と え ば 、 echo foo | script )、 セ ッ シ ョ ン が ハ ン グ す る か も し れ な い 。 何 故 な ら 、 script セ ッ シ ョ ン 内 の 対 話 的 シ ェ ル が EOF を 受 け 取 り そ こ な う と 、 script と し て は 、 い つ セ ッ シ ョ ン を 閉 じ れ ば よ い の か 、 手 が か り を つ か め な い か ら で あ る 。 詳 し く は 、 「 注 意 」 セ ク シ ョ ン を ご 覧 に な っ て い た だ き た い 。
関 連 項 目
csh (1) ( history の メ カ ニ ズ ム に つ い て ), scriptreplay (1), scriptlive (1)
入 手 方 法
こ の script コ マ ン ド は 、 util-linux パ ッ ケ ー ジ の 一 部 で あ り 、 Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/> か ら 入 手 で き る 。