스크립트(유닉스)

script (Unix)

스크립트 명령은 터미널 세션을 기록하는 Unix 유틸리티다.1979년 3.0 BSD로 거슬러 올라간다.[1]

사용법

스크립트 세션이 파일 이름에 캡처됨typescript기본적으로, 다른 파일 이름을 지정하려면 다음을 따르십시오.script공백과 파일 이름을 사용하여 명령:script recorded_session.

의 기록된 형식script프로그램이 포맷을 위해 인쇄한 모든 ANSI 이스케이프 코드를 포함하여 일반 텍스트 타이밍 정보(전체 세션에 대한)와 말 그대로 명령 출력으로 구성된다.이를 위해 가성비를 사용하기 때문에 프로그램은 단말기에 있는 것처럼 정확하게 작동한다.[1]유틸리티리눅스 scriptreplay명령어는 문자 수준 정보에 대한 추가 타이밍 파일 사용을 지원하는 스크립트에 재생 기능을 제공한다.[2][3]지금은 없어진 shelr.tv과 같은 일부 온라인 서비스도 비디오 스크린캐스트에 대한 저소음 대안으로 포맷을 보여줄 수 있다.[4]

스크립트 문제

스크립트 명령어의 문제점 중 하나는 하위 프로세스의 로깅만 허용한다는 것이며, 자체 출력을 기록할 수 있는 스크립트의 자동화가 필요한 경우와 같이 새로운 프로세스를 생성하지 않고 현재 프로세스에서 명령을 로깅할 필요가 있는 경우가 종종 있다.유닉스 운영체제는 파이프와 리디렉션을 사용하여 이것을 가능하게 한다.다음 모델 예를 고려하십시오.

본 셸

본 셸과 관련된 모든 쉘(이름: sh, bash, ksh)은 stdout과 stderr을 명명된 파이프에 부착하고 티 명령으로 리디렉션할 수 있도록 한다.

LOGNAME="script" rm -f $LOGNAME.p $LOGNAME.log mknod $LOGNAME.p p 티 <$LOGNAME.p $LOGNAME.log & Exec >$LOGNAME.p 2>&1

위의 스크립트 레코드는script.log의 모든 결과물.exec명령하다그러나 python과 같은 일부 인터렉티브 프로그램(예: python)은 스크립트 명령으로 실행될 때 표준 입력을 반향하지 않지만, 다시 터미널의 검출로 인해 결과 셸에서 실행될 때 표준 입력을 반향하지 않는다.

스크립트 명령 대체

2000년의 ttyrec 프로그램은 동일한 종류의 기능을 제공하며 여러 바인딩을 제공한다.그 시기는 유틸리티리눅스와 비슷하다.그 개념에 대한 보다 현대적인 인식은 아스시니마에 의해 사용되는 "아시스캐스트" JSON이다.[5]

참고 항목

참조

  1. ^ a b script(1)FreeBSD 일반 명령 설명서
  2. ^ scriptreplay(1)Linux 사용 설명서 – 사용자 명령
  3. ^ LinuxInsight - 스크립트 재생이 있는 터미널 세션 재생
  4. ^ OMG! Ubuntu! - 터미널을 빠르게 녹화 및 공유하는 방법 스크린캐스트
  5. ^ "About - asciinema".