2017-03-02 9 views
0

에 표준 출력 할당합니다 나는 다음과 같은 bash는 스크립트를 실행. 그래서, 도망 갔을 때지정 표준 입력이 해당 파일

ls > log 

나는 "stsin"을 "ls"로 전달할 것으로 예상했다. 나는 stdout을 재 할당하지 않았으므로 터미널에서 "ls"명령의 결과를 보려고합니다 (정상적으로 stdout을 보았습니다). 그러나 로그 파일에서 "ls"의 출력을 보았습니다. 왜 stdout은 터미널이 아닌 로그 파일에 있습니까?

답변

1

ls은 표준 출력을 위해 제공된 파일에 씁니다. 리디렉션이 없으면 부모 (스크립트)에서 상속 한 파일이됩니다. 리디렉션을 사용하면 표준 출력에 파일 log을 명시 적으로 제공하고 있습니다.

이 파일은 log 파일에 사용할 수있는 것과 별개입니다.