script 명령어 사용시의 질문(수정. 질문추가)
script라는 명령어를 이용하여 화면에 출력되는 모든것을 저장하려고
아래와 같이 a.sh라는 shell script를 만들었습니다.
==========================
> cat a.sh
#!/bin/sh
script -a result.log
ls -l
exit
==========================
그런데, script라는 명령어를 실행하는 순간 새로운 shell을 fork 하기 때문에
이후 실행문인 ls -l 이 실행되지 않고 사용자 입력을 기다리게 되더군요.
위와 같이 하나의 shell script내에서 script 명령을 이용하여 실행과정 및 실행결과를 저장할 수 있는 방법이 있나요?
script 명령이 아니라도 다른 방법이 있으면 알려주세요.
미리 감사합니다.
====================================================
2007/05/28 추가
아래 답변 달아주신 분들 감사합니다.
여러가지 답변 감사합니다.
위에서 질문에 ls -l 이라는건 예로서 적은것이구요.
사실은 script 명령 실행 후
복잡한 여러가지 로직이 들어갈 예정이라...
위에서 알려주신 여러가지 방법들이 가능할지 모르겠네요.
결론적으로는 아래와 같은 프로그램을 만들려고 하는 것입니다.
-------------------------
> cat a.sh
script -a result.log
로직 A........
.........
.........
.........
exit <- script 명령을 빠져나가는 exit
로직 B.........
.........
.........
.........
script -a result.log
로직 A........
.........
.........
.........
exit <- script 명령을 빠져나가는 exit
로직 C........
.........
.........
.........
-------------------------
중간 중간 script 명령을 사용했다고 빠져나왔다가
다시 script 명령을 사용하는 이유는 필요한 부분에서만 log를 쌓기 위한 것이며,
출력 결과를 화면으로도 보고 파일로도 저장하려고 하는 것입니다.
이럴 경우에는 어떻게 해야 할까요?
#!/bin/bashscript -c 'ls -l'
또는,
tee 로는 안되나요?
tee 로는 부족한가요?
꼭 script 를 쓴다면...
2% 부족한 감은 있지만, 이정도로 쓰셔도 될것 같네요.
---
배려하는 마음을 갖자.
---
배려하는 마음을 갖자.
아님
아님 요런것도...
좀.. 내용이 제가
좀.. 내용이 제가 이해하기에는 어렵네요. 이해력의 OTL
그냥, 보안에 문제가 안된다면 코드를 볼 수 있을까요
here documents를
한 파일에 코드를 적으시려고 한다면
here documents를 사용하시면 됩니다.
$Myoungjin_JEON=@@=qw^rekcaH lreP rehtonA tsuJ^;$|++;{$i=$like=pop@@;unshift@@,$i;$~=18-length$i;print"\r[","~"x abs,(scalar reverse$i),"~"x($~-abs),"]"and select$good,$day,$mate,1/$~for 0..$~,-$~+1..-1;redo}
댓글 달기