>  기사  >  백엔드 개발  >  녹음 및 재생 기능 스크립트를 생성하는 Linux 셸

녹음 및 재생 기능 스크립트를 생성하는 Linux 셸

php中世界最好的语言
php中世界最好的语言원래의
2017-12-20 13:40:041857검색

저는 이전에 터미널 세션을 파일에 기록할 수 있는 두 가지 매우 흥미로운 명령 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에서는 먼저 출력 등의 정보를 저장하는 데 사용되는 파일 이름을 입력하라는 메시지가 표시되고, 프로그램에서 두 개의 파일을 생성합니다. 파일 이름은 입력한 파일 이름에 다른 접미사를 추가하여 형성됩니다. 출력.timing.log, 출력.세션 등 입력 파일이 이미 존재하는지 확인하고, 기존 파일을 새 파일로 덮어쓸 것인지 묻고, 그렇다면 원본 파일을

삭제

생성하세요. 새 파일을 만들고 데이터 쓰기를 수행합니다. 그렇지 않은 경우 아무 작업도 수행하지 않습니다. Replay.sh에 파일 이름을 입력하고, 먼저 파일이 있는지 확인하고, 있으면 재생해 보세요.

Record.sh를 보면 스크립트의 매개변수가 2개의 파일인 것을 알 수 있는데, 식별을 용이하게 하기 위해 입력한 파일 이름에 특정 접미사를 추가했습니다. Linux

에서도 파일 접미사는 의미가 없습니다. .timing.log 접미사가 붙은 한 파일은 각 명령이 실행되는 시기를 설명하는 타이밍 정보를 저장하는 데 사용되고, 접미사가 .session이 붙은 다른 파일은 명령 출력을 저장하는 데 사용됩니다. 이 두 파일을 사용하면 Windows에서 친숙한 lrc 가사 파일의 재생 기능과 약간 유사한 재생 기능을 구현할 수 있습니다.

두 가지 종류의 출력이 있으므로 서로 다른 출력 스트림을 서로 다른 파일로 출력하려면 데이터 스트림 리디렉션을 사용해야 합니다. 또한 stderr을 통해 타이밍 정보를 쓰기 위해 Record.sh에서 볼 수 있습니다. *.timing.log, >를 통해 *.session 파일에 명령 실행 정보를 기록합니다.

Replay.sh는 비교적 간단합니다. 입력 파일을 재생하기 전에 존재하는지 여부만 확인하면 됩니다. 위 Record.sh에서 생성된 파일을 재생하려면 출력만 입력하면 됩니다.

이 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

관련 읽기:

새로 고침 없이 파일 업로드 기능을 구현하는 ajax에 대한 자세한 설명 예


PHP에서 jQuery+Ajax를 사용하여 페이징 쿼리 기능 구현


AJAX로 간단한 비동기 구현 등록 페이지 요청 예제 코드

위 내용은 녹음 및 재생 기능 스크립트를 생성하는 Linux 셸의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.