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
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
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!