나는 그것을 시도했지만 script
작동하지 않습니다.
milenko@milenko-desktop:~/MTM$ script output.txt
Script started, file is output.txt
milenko@milenko-desktop:~/MTM$ wc -l output.txt
0 output.txt
C 코드를 실행한 이후로 화면에 4000000줄이 넘었습니다. 단지 그것의 일부일 뿐이야
4194282 0.166666 2.35285e-06 -56.2841 -137.299 -129.386 4 0.974001
4194283 0.166666 2.2536e-06 -56.4712 -129.67 -131.872 4 0.577388
4194284 0.166666 2.33943e-06 -56.3089 -131.649 -132.051 4 0.693404
4194285 0.166666 2.40782e-06 -56.1838 -139.678 -129.377 4 0.702479
4194286 0.166666 2.61584e-06 -55.8239 -125.733 -128.783 4 0.585886
4194287 0.166666 2.60877e-06 -55.8356 -129.239 -127.815 4 0.773082
4194288 0.166666 2.71129e-06 -55.6682 -129.591 -127.553 4 0.796556
4194289 0.166666 2.89225e-06 -55.3876 -125.257 -127.627 4 0.815006
4194290 0.166666 2.84658e-06 -55.4568 -129.576 -127.566 4 0.557463
4194291 0.166666 2.71516e-06 -55.662 -129.31 -128.904 4 0.797976
4194292 0.166666 2.56104e-06 -55.9158 -127.996 -128.422 4 0.895766
4194293 0.166666 2.6007e-06 -55.8491 -128.079 -129.663 4 0.503785
4194294 0.166666 2.40808e-06 -56.1833 -140.025 -128.88 4 0.857429
4194295 0.166666 2.33237e-06 -56.322 -126.524 -130.575 4 0.410364
4194296 0.166666 2.46136e-06 -56.0883 -135.197 -130.224 4 0.833398
4194297 0.166666 2.48021e-06 -56.0551 -134.945 -131.935 4 0.856674
4194298 0.166666 2.43826e-06 -56.1292 -128.865 -128.875 4 0.490521
4194299 0.166666 2.45184e-06 -56.1051 -126.444 -129.16 4 0.935146
4194300 0.166667 2.51457e-06 -55.9954 -141.302 -130.337 4 0.745215
4194301 0.166667 2.47265e-06 -56.0684 -133.622 -131.74 4 0.541706
4194302 0.166667 2.45156e-06 -56.1056 -128.236 -128.832 4 0.503959
4194303 0.166667 2.54703e-06 -55.9397 -127.012 -127.581 4 1.10325
4194304 0.166667 2.55029e-06 -55.9341 -132.414 -127.012 4 0.475155
이것을 저장하는 방법?
내가 시도하면 script > output.txt
Script started, file is typescript
]0;milenko@milenko-desktop: ~/MTM[01;32mmilenko@milenko-desktop[00m:[01;34m~/MTM[00m$ exit
Script done, file is typescript
나도 시도했다
command | tee ~/outputfile.txt
하지만 또
wc -l outputfile.txt
0 outputfile.txt
그러므로 이것은 올바른 방법이 아닙니다.
답변1
script
다음 명령을 사용하는 경우 :
script history_log.txt
그런 다음 원하는 것을 수행하고 완료되면 다음을 입력하십시오.
exit
스크립트 출력을 참조하는 경우 표준 출력을 리디렉션합니다.
script.sh > output.txt
>
표준 출력을 원하는 소프트웨어로 리디렉션2>
표준 오류 리디렉션&>
stdout 및 stderr 리디렉션
답변2
stdout 및 stderr을 캡처해야 할 때 나의 작은 비밀은 다음을 사용하는 것입니다.북면. 이는 화면의 상호 작용이 아닌 출력에만 관심이 있는 경우 훌륭한 솔루션입니다.
이것권위 있는표준 출력(전용)을 캡처하여 화면에 표시하는 방법은 다음 명령을 사용하는 것입니다.티
nohup script.sh | tee merged.out
표준 출력만 필요한 경우
script.sh | tee script.out
다음은 ls
script.sh 대신 명령을 사용하는 빠른 예 입니다.
xx069:~ # nohup ls | tee merged.out
nohup: ignoring input and redirecting stderr to stdout
bin
inst-sys
merged.out
xx069:~ # cat merged.out
bin
inst-sys
merged.out
물론 stdout과 stderr을 결합하는 2>&1과 같은 리디렉션도 가능합니다.
저는 주로 script
화면의 입력과 출력을 캡처하는 데 사용합니다. 출력 만 필요한 경우에는 >
, >>
, - 중 하나를 적절히 사용합니다. 그리고 내가 게으를 때.2>&1 >
tee
tee -a
nohup
답변3
당신은 시도 할 수 있습니다국민 건강 보험. 실행된 모든 명령(및 해당 출력)에 대해 잠재적으로 유용한 모든 정보를 자동으로 캡처합니다.
nhi
귀하의 경우처럼 쉘 세션이나 단일 명령을 쉽게 검색할 수 있습니다 .
노트:
나는 이 도구의 제작자입니다. 궁금한 점이 있으시면 언제든지 문의해 주세요.