date=$(date +Y-%m-%d)
myserver | tee >(/usr/bin/Mail [email protected]) "stats-$date.txt" | less
이것은 별칭에만 국한되지 않습니다. 하지만 마법은 프로세스 대체 : >()
(bash 및 ksh 확장자)이며 프로세스의 입력에 연결된 파일과 유사한 객체를 생성합니다. 스크립트에서이 스크립트를 사용하는 경우 스크립트는 이 아니라 #!/bin/sh
으로 시작해야합니다. sh yourscript
(기본 POSIX 인터프리터를 강제 실행)으로 시작하면 안됩니다. 이 경우 - - /usr/bin/Mail
이 구문은
의 표준 입력 내용 패스 기록 형태 또는
/dev/fd/##
/proc/self/fd/##
, 전형적 리눅스, 파일명으로 대체 될 것이다.
일부 추가 참고 사항 :
YYYY-mm-dd
가 훨씬 덜 악한 파일 형식입니다. dd-mm-yy
은 정확하게 정렬되지 않으며 mm-dd-yy
과 모호합니다.
less
요구는 파이프 라인의 끝에 있어야합니다 : 그것은 프로그램 사용하기위한 형태로 자신의 표준 출력 내용을 기록하지 않습니다, 그래서 당신은 뭔가 다른 less
에서 유용하게 파이프 할 수 없습니다.
mail
도 파이프 라인의 끝에 있어야합니다. 왜냐하면 파이프 라인의 내용도 stdout에 쓰지 않기 때문입니다. 코드가 작동하는 이유는 tee
이 우리의 파이프 라인을 나눠주고 있기 때문에 효과적으로 여러 개의 끝을 가지고 있습니다!
기타 : 소프트웨어 * 사용 *에 관한 질문 (소프트웨어 사용자 개발 *에 대한 질문 이외에 명령 프롬프트를 최종 사용자로 사용하는 방법)과 관련하여 http : // 미래에보다 적절한 포럼으로 superuser.com/을 선택하십시오. –
또한 숨겨진 추가 질문으로 날짜가 포함 된 파일 이름을 생성하는 방법에 대해 묻는 것은 자신의 질문이되어야합니다. (매우 드문 경우이지만 이미 찾지 못했고 Google 기술 자료에서 이미 답변했습니다.) –
저는 초보자입니다. 그러나 나는 도움을 요청할 때마다 비평가가 있기 때문에이 커뮤니티에서 그만두고 싶다고 생각합니다. 그러나 감사합니다. – user7203212