터미널의 대화형 입력에 응답하는 도구에서 로그를 생성해야 할 때(stdout의 티가 어떻게든 깨졌음) 이 도구를 찾았고 script(1)
광고한 대로 거의 작동합니다. 불행하게도 script
Linux에서는 Mac과 비교하여 다른 옵션이 사용됩니다(아마도 BSD 버전?).
script
휴대용 스크립트에서 비슷한 기능을 사용하고 싶습니다 . 유사한 작업을 수행할 수 있는 다른 도구는 무엇입니까(GNU screen
)?
답변1
이는 Linux 및 FreeBSD/macos 기반 플랫폼에서 작동합니다:
myscript() {
if script --help >/dev/null 2>&1
then
SHELL=/bin/sh script -c "$2" -- "$1"
else
script -- "$1" /bin/sh -c -- "$2"
fi
}
용법
myscript <file> <sh-code>
명령 구성요소가 단순 명령이 아닌 경우 명령 구성요소를 참조해야 합니다. 예를 들어,
myscript myfile 'a=$(date); echo "Today is $a"'