gnu/Linux에서 모든 명령 출력을 하나의 특정 파일에 기록하려고합니다. , 내가bash 스크립팅에서 하나의 단일 파일에 모든 명령 출력을 기록하는 방법
echo "Hi this is a dude"
그것은 모든 명령에 리디렉션을 사용하지 않고 이전에 지정한 파일 이름에 인쇄해야 입력하고 터미널에서 말 .
gnu/Linux에서 모든 명령 출력을 하나의 특정 파일에 기록하려고합니다. , 내가bash 스크립팅에서 하나의 단일 파일에 모든 명령 출력을 기록하는 방법
echo "Hi this is a dude"
그것은 모든 명령에 리디렉션을 사용하지 않고 이전에 지정한 파일 이름에 인쇄해야 입력하고 터미널에서 말 .
명령 :
$ bash &> outfile
는 예를 들어
포트 해당 파일에 대한 표준 출력과 표준 에러 모두 (더 이상 메시지가 터미널에 표시 볼 수 없습니다 의미)한다 쉘에서 표준 출력에 사용할 파일 설명자를 상속합니다. 일반적인 대화 형 쉘에서 표준 출력은 터미널입니다. 경우 output.txt라는 파일에 표준 출력을 쓸 것, 그 명령에 따라
exec > output.txt
쉘 자체를 달리 리디렉션하지 않는 한이 급부상 어떤 명령도 마찬가지로 할 것입니다 : 당신은 exec
명령을 사용하여 해당을 변경할 수 있습니다. 당신은 항상 당신이 프롬프트에서 입력 쉘 프롬프트 텍스트가 쉘은 표준 오류에 그 모두를 기록하기 때문에 (화면에 계속 표시
exec > /dev/tty
주를 사용하여 터미널에 출력을하지 "복원"수 표준 출력).
차갑다. 개선 사항 :'exec>> (tee -a output.txt)'출력을 파일과 터미널로 보낼 수 있습니다. –
$ script x1
Script started, file is x1
$ echo "Hi this is a dude"
Hi this is a dude
$ echo "done"
done
$ exit
exit
Script done, file is x1
그런 다음, 파일 X1의 내용은 다음과 같습니다
가Script started on Thu Jun 13 14:51:29 2013
$ echo "Hi this is a dude"
Hi this is a dude
$ echo "done"
done
$ exit
exit
Script done on Thu Jun 13 14:51:52 2013
쉽게 유닉스 프롬프트가있다 특히, 기본 쉘 스크립트 (grep -v
를 사용하여/끝 라인을 자신의 명령을 편집하고 시작할 수 있습니다 특유의 문자열 패턴)
>
으로 떠들썩한 파티에서 달성 될 수
출력 : See this link for more info on bash redirection.
요 u는 예를 들어, 파일로 이동합니다 이식 출력과 모든 출력하는 프로그램을 실행할 수 있습니다
$ ls > out
$ cat out
Desktop
Documents
Downloads
eclipse
Firefox_wallpaper.png
...
을 그래서, 당신은 이식 출력 새로운 쉘 세션을 열려면, 단지! :
그렇게$ bash > outfile
은 모든 stdout을 해당 파일로 이식하는 새로운 bash 세션을 시작합니다. 시작
$ bash > outfile
$ echo "hello"
$ echo "this is an outfile"
$ cd asdsd
bash: cd: asdsd: No such file or directory
$ exit
exit
$ cat outfile
hello
this is an outfile
$
$ bash &> outfile
echo "hi"
echo "this saves everythingggg"
cd asdfasdfasdf
exit
$ cat outfile
hi
this saves everythingggg
bash: line 3: cd: asdfasdfasdf: No such file or directory
$
{ command1 ; command2 ; command3 ; } > outfile.txt
출력을보고 파일에 쓰려면 (나중에 분석하기 위해) tee
명령을 사용할 수 있습니다.
$ echo "hi this is a dude" | tee hello
hi this is a dude
$ ls
hello
$ cat hello
hi this is a dude
tee는 유용한 명령입니다. 티에 들어가는 모든 것을 저장하고 화면에 표시 할 수 있기 때문입니다. 특히 스크립트 출력 로깅에 유용합니다.
이 질문과 대답을 확인하십시오 : http : // stackoverflow.com/questions/5171350/output-bash-script-into-file-without? rq = 1 – Kyle