ホームページ >バックエンド開発 >PHPチュートリアル >記録および再生機能のスクリプトを作成するための Linux シェル

記録および再生機能のスクリプトを作成するための Linux シェル

php中世界最好的语言
php中世界最好的语言オリジナル
2017-12-20 13:40:041994ブラウズ

以前、端末セッションをファイルに記録できる 2 つの非常に興味深いコマンド script と srciptreplay を見てきました。今日は、興味深い意味のある操作をいくつか紹介します。

1. 実装コード

ファイル: Record.sh

#! /bin/bash
# Filename:Record.sh
  
read -p "Please input the sesson filename you want to creat: " filename;
  
sesfile="$filename.session"
logfile="$filename.timing.log"
  
if [ -e $sesfile ];then
  echo "$sesfile is Exsit,Creat session file fault!";
  read -p "If you want to reload the file? [Y/N]: " flag;
  if [ "$flag" = "Y" ];then
    rm $sesfile $logfile;
    script -t 2> $logfile -a $sesfile;
  else
    echo "Nothing to do!";
  fi
    
else
  script -t 2> $logfile -a $sesfile;
fi


ファイル: Replay.sh

#! /bin/bash
# Filename:Replay.sh
  
read -p "Please input the session filename: " filename
logfile="$filename.timing.log"
sesfile="$filename.session"
if [ -e $sesfile ]; then
  scriptreplay $logfile $sesfile
  echo
else
  echo "$filename is NOT Exsit!"
fi


まず、これら 2 つのファイルが何であるかについて説明します。 Record.sh は実行するコマンドと画面上の出力を記録するために使用され、Replay.sh は Record.sh によって記録されたコンテンツを再生するために使用されます。

Record.sh では、最初に出力などの情報を保存するために使用するファイル名を入力するよう求められ、次にプログラム内で 2 つのファイルを作成します。ファイル名は、入力したファイル名に別のサフィックスを追加することによって形成されます。入力ファイルが既に存在するかどうかを確認し、存在する場合は、古いファイルを新しいファイルで上書きするかどうかを確認し、元のファイルを

削除

します。新しいファイルとデータの書き込みは、そうでない場合は機能しません。 Replay.sh にファイル名を入力し、まずファイルが存在するかどうかを確認し、存在する場合は再生します。

Record.shでは、スクリプトのパラメータが2つのファイルであることがわかります。識別しやすくするために、Linux

でもファイルのサフィックスは意味がありません。接尾辞 .timing.log の付いた 1 つのファイルは、各コマンドがいつ実行されるかを説明するタイミング情報を保存するために使用され、接尾辞 .session が付いているもう 1 つのファイルはコマンド出力を保存するために使用されます。これら 2 つのファイルを使用すると、Windows でおなじみの lrc 歌詞ファイルの再生機能に似た再生機能が実現できると思います。

2 種類の出力があるため、異なる出力ストリームを異なるファイルに出力するには、データ ストリーム リダイレクトを使用する必要があります。また、Record.sh で、stderr を介してタイミング情報を書き込むことがわかります。 *.timing.log を作成し、> を通じてコマンド実行情報を *.session ファイルに書き込みます。

Replay.sh は比較的単純で、再生する前に入力ファイルが存在するかどうかを確認するだけです。上記の Record.sh で作成したファイルを再生したい場合は、出力を入力するだけです。

これらの事例を読んだ後は、その方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。

関連読書:

更新せずにファイルをアップロードする機能を実装するためのajaxのサンプル詳細説明


PHPでjQuery+Ajaxを使用してページングクエリ機能を実装する


AJAXを使用して簡単な登録を実装するページの非同期リクエストのコード例

以上が記録および再生機能のスクリプトを作成するための Linux シェルの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。