Maison > développement back-end > tutoriel php > Linux Shell pour créer des scripts de fonctions d'enregistrement et de lecture

Linux Shell pour créer des scripts de fonctions d'enregistrement et de lecture

php中世界最好的语言
Libérer: 2023-03-18 06:42:02
original
1960 Les gens l'ont consulté

J'ai déjà vu deux commandes très intéressantes script et srciptreplay, qui peuvent enregistrer la session du terminal dans un fichier. Aujourd'hui, je vais vous donner quelques opérations intéressantes et significatives.

1. Code d'implémentation

Fichier : 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
Copier après la connexion


Fichier : 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
Copier après la connexion


2. Analyse du programme

Tout d'abord, parlons de l'utilisation de ces deux fichiers pour Record.sh. enregistre les commandes que vous exécutez et la sortie à l'écran, et Replay.sh est utilisé pour lire le contenu enregistré par Record.sh.

Dans Record.sh, vous êtes d'abord invité à saisir un nom de fichier pour enregistrer des informations, telles que la sortie, puis à créer deux fichiers dans le programme. Les noms de fichiers sont les noms de fichiers que vous avez entrés plus le suffixe différent. est formé, comme output.timing.log et output.session, puis vérifie si le fichier d'entrée existe déjà. S'il existe, demandez s'il faut écraser l'ancien fichier par le nouveau fichier. Si c'est le cas, supprimez-le. le original S'il y a un fichier, créez un nouveau fichier et écrivez les données, sinon, ne travaillez pas. Entrez un nom de fichier dans Replay.sh, déterminez d'abord si le fichier existe et lisez-le s'il existe.

Dans Record.sh, vous pouvez voir que les paramètres du script sont deux fichiers. Afin de faciliter l'identification, j'ai ajouté un suffixe spécifique au nom du fichier saisi, même sous Linux. Le suffixe du fichier n'a aucun sens. L'un des suffixes, .timing.log, est utilisé pour stocker les informations de synchronisation, décrivant le moment où chaque commande est exécutée. L'autre fichier, avec le suffixe .session, est utilisé pour stocker la sortie de la commande. Avec ces deux fichiers, la fonction de lecture peut être réalisée. C'est un peu comme la fonction de lecture du fichier de paroles lrc familier sous Windows, à mon avis.

Comme il existe deux types de sortie, nous devons utiliser la redirection du flux de données pour générer différents flux de sortie dans différents fichiers. Nous pouvons également voir dans Record.sh que nous utilisons 2> *.timing.log via stderr, et les informations d'exécution de la commande sont écrites dans le fichier *.session via >.

Replay.sh est relativement simple. Il suffit de déterminer si le fichier d'entrée existe avant de pouvoir le lire. Si vous souhaitez lire le fichier créé dans Record.sh ci-dessus, il vous suffit de saisir la sortie.


Je pense que vous maîtrisez les méthodes après avoir lu ces cas. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de php !

Lecture connexe :

Exemple détaillé d'implémentation ajax de téléchargement de fichiers sans actualisation

Utilisation de jQuery+Ajax en PHP pour implémenter la fonction de requête de pagination

Implémentation AJAX d'un exemple de code de demande asynchrone de page d'inscription simple

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal