터미널을 열면 "메일이 있습니다"라는 메시지가 표시됩니다. 이유를 아는 사람이 있습니까? 저는 OS X를 실행하고 있지만 역시 Unix 기반이고 bashrc, bash_profile 등의 파일에 의존하기 때문입니다. 여기 누군가가 알고 있을 것 같지만 이것이 플랫폼별 문제인지는 잘 모르겠습니다.
답변1
뭔가 로컬 메일 교환기를 사용하여 컴퓨터로 메일을 보내는 것 같습니다. 이메일은 설치된 일부 패키지에서 자동으로 전송된 메시지일 가능성이 높습니다. 로그인한 후 mail
터미널에 입력하여 관련 메시지를 읽고 (가능한 경우) 삭제하세요. (내부에서 명령이 무엇인지 알아 mail
보세요 ?
.) 읽지 않은 메일을 읽거나 삭제한 후에는 다른 사람이 같은 방식으로 메일을 보내기 전까지는 "메일이 있습니다"라는 메시지가 다시 표시되지 않습니다. 이메일이 누구에게 전송되는지 알고 나면 이메일이 전송되는 위치를 변경하는 구성 옵션을 찾을 수 있습니다.
답변2
이것은 "플랫폼 특정 문제"입니다 :-)
Mac OS X은 다음 명령을 기본 셸로 사용합니다.불다다른 많은 Un*x/Linux 시스템과 마찬가지로.
시스템의 메시지는 일반적으로 사용자의 사서함에 저장됩니다./var/mail/$user
때로는 사서함에 중요한 메시지(실패한 cronjob 작업 등)가 포함되어 있기 때문에 매번 직접 확인할 필요는 없습니다.
BASH(및 기타 많은 셸)에는 터미널을 처음 열 때 메시지를 인쇄하는 메일 검사라는 기능이 있습니다.
$MAILCHECK는 새 메일을 확인하는 데 걸리는 시간(초)을 포함하는 환경 변수입니다. 기본 프롬프트가 표시되기 전에 메일도 확인됩니다. 더보기Bash 참조 매뉴얼 -MAILCHECK
.
새 메일을 확인하지 않으려면 $MAILCHECK를 설정 해제하면 됩니다. 올바른 위치는 셸을 열 때 읽혀지는 .bashrc 파일입니다. 이는 사용자 홈 디렉터리에 있습니다.
~/.bashrc에 추가:
unset MAILCHECK
이 메시지를 비활성화하십시오.
물론, TJ Crowder가 언급한 것처럼 단순히 메시지를 삭제하는 것도 가능합니다 :-)
답변3
SSH를 통해 Raspian(Debian 기반 Raspberry Pi 배포판)을 사용하여 이를 제거하려면 /etc/pam.d/sshd에서 다음 줄을 주석 처리해야 했습니다.
session optional pam_mail.so standard noenv # [1]
답변4
실행 crontab -e
하고 크론 작업에 출력을 추가합니다. 하나의 cron 작업에 대해서만 이메일을 비활성화하려면 /dev/null
줄 끝에 추가하여 출력을 리디렉션해야 합니다.> /dev/null 2>&1
예를 들어:
* * * * */5 /path/to/command arguments > /dev/null 2>&1