Bạn có tin nhắn mail trên terminal, os X [đã đóng]


170

Vài ngày trước tôi nhận được tin nhắn này trong cửa sổ thiết bị đầu cuối của mình: nhập mô tả hình ảnh ở đây

Điều đó nghĩa là gì? Tôi chưa bao giờ thấy điều đó trước đây.

Đó là tin nhắn từ bot xCode.

bot

Cảm ơn đã giúp đỡ.


11
Chạy mailvà đọc thư của bạn.
Máy xay sinh tố

Đầu tiên - tôi chưa có thư nào chưa đọc. Lần thứ hai - tại sao chuỗi này đã xuất hiện bây giờ? Ive chưa bao giờ nhìn thấy cô ấy trước đây.
Oleg Sobolev

2
Câu hỏi này dường như lạc đề vì nó phù hợp hơn với apple.stackexchange.com
Monolo

Câu trả lời:


60

Có lẽ đó là một số tin nhắn từ hệ thống của bạn.

Nhập vào thiết bị đầu cuối:

man mail

và xem làm thế nào bạn có thể nhận được thông báo này từ hệ thống của bạn.


địa chỉ email này được sử dụng?
AbhimanyuAryan

4
và sau đó nhập "d *" để xóa tất cả các tin nhắn
Ricardo Martins

9
Vô tình làm trống /var/mail/<your-username>khi nhận được thư (vẫn chưa đọc) có thể kích hoạt You have mailmỗi khi bạn mở một tab mới trong Terminal (điều này đã xảy ra với tôi một lần). Để giải quyết vấn đề này, tập tin cần phải được loại bỏ (ví dụ. sudo rm /var/mail/<your-username>).
Muntashir Akon

4
Điều này không trả lời câu hỏi.
minatverma

272

Tôi cũng gặp phải vấn đề "Bạn có thư" xuất hiện mỗi khi tôi khởi động Terminal.

Những gì tôi phát hiện ra là điều này.

Một cái gì đó tôi đã cài đặt (không hoàn toàn chắc chắn là gì, nhưng có thể là tập lệnh hoặc thứ gì đó liên quan đến Luồng công việc Alfred [theo phỏng đoán]) đã thay đổi hệ thống OS X để bắt đầu hiển thị thông báo bash Terminal. Trước đó, có vẻ như Wordpress đã cố gắng sử dụng hệ thống Local Mail để gửi tin nhắn. Tin nhắn bị trả về, do nó có địa chỉ Người nhận không hợp lệ. Tin nhắn bị trả lại sau đó kết thúc trong hộp thư đến của hệ thống cục bộ. Vì vậy, Terminal (bash) sau đó đã thông báo cho tôi rằng "Bạn có thư".

Bạn có thể truy cập thư bằng cách sử dụng lệnh

mail

Thao tác này sẽ đưa bạn vào Mail và ngay lập tức nó sẽ hiển thị cho bạn một danh sách các thư được lưu trữ ở đó. Nếu bạn muốn xem nội dung của tin nhắn đầu tiên, hãy sử dụng

t

Điều này sẽ cho bạn thấy nội dung của tin nhắn đầu tiên, đầy đủ. Bạn sẽ cần cuộn xuống qua tin nhắn để xem tất cả, bằng cách nhấn down-arrowphím.

Nếu bạn muốn chuyển đến cuối tin nhắn, hãy sử dụng

spacebar

Nếu bạn muốn hủy xem tin nhắn, hãy sử dụng

q 

Để xem tin nhắn tiếp theo trong hàng đợi, hãy sử dụng

n

... Giả sử có nhiều hơn một tin nhắn.

LƯU Ý: Bạn cần sử dụng các lệnh này tại ?dấu nhắc lệnh mail . Họ sẽ không làm việc trong khi bạn đang trong quá trình xem tin nhắn. Đánh ntrong khi xem tin nhắn sẽ chỉ gây ra thông báo lỗi liên quan đến biểu thức thông thường. Vì vậy, nếu đang xem tin nhắn, hãy nhấn qđể thoát khỏi đó hoặc nhấn spacebarđể nhảy đến cuối tin nhắn, và sau đó tại ?dấu nhắc, hãy nhấn n.

Xem nội dung của tin nhắn theo cách này có thể giúp bạn xác định những gì đã cố gắng gửi (các) tin nhắn.

Bạn cũng có thể xem một tin nhắn cụ thể bằng cách chỉ cần nhập số của nó tại ?dấu nhắc. 3, ví dụ, sẽ cho bạn thấy nội dung của tin nhắn thứ ba (nếu có nhiều trong đó).

Sử dụng lệnh (tại ?dấu nhắc lệnh)

d [message number]

Để xóa từng tin nhắn khi bạn xem xong chúng. Ví dụ: d 2sẽ xóa tin nhắn số 2. Hoặc bạn có thể xóa danh sách tin nhắn, chẳng hạn như d 1 2 5 7. Bạn sẽ thấy các số tin nhắn trong danh sách các tin nhắn mail cho bạn thấy.

Để xóa tất cả các thư, từ dấu nhắc thư ( ?) sử dụng lệnh d *.

Theo nhận xét về bài đăng này, bạn sẽ cần sử dụng qđể thoát thư, điều này cũng lưu bất kỳ thay đổi nào.

Nếu bạn muốn xem tất cả thư trong một đầu ra, hãy sử dụng lệnh này tại dấu nhắc bash (nghĩa là không phải từ trong thư, mà từ dấu nhắc lệnh thông thường của bạn):

cat /var/mail/<username>

Và, nếu bạn muốn xóa tất cả các email trong một lần nhấn, hãy sử dụng lệnh này

sudo rm /var/mail/<username>

Trong trường hợp cụ thể của tôi, đã có một số tin nhắn. Có vẻ như một tin nhắn đã được trả lại bị trả về. Nó được gửi bởi một cài đặt Wordpress cục bộ. Đó là một thông báo khi người dùng "Admin" (tôi) thay đổi mật khẩu. Hai tin nhắn bổ sung ở đó. Cả hai dường như là cùng một sự cố.

Điều tôi không biết và cũng không thể trả lời cho bạn, là TẠI SAO tôi mới chỉ bắt đầu thấy thông báo thư này mỗi khi tôi mở Terminal. Các thư được tạo ra vài tháng trước, nhưng tôi chỉ nhận thấy "bạn có thư" xuất hiện trong vài tuần qua. Tôi nghi ngờ đó là kết quả của một quy trình công việc tôi đã cài đặt trong Alfred và quy trình công việc đó sử dụng Terminal bash để cung cấp thông báo ... hoặc một cái gì đó dọc theo các dòng đó.

Chỉ cần xóa tin nhắn

Nếu bạn không quan tâm đến việc xác định nguồn gốc của tin nhắn và chỉ muốn loại bỏ chúng, có thể dễ dàng thực hiện điều đó hơn mà không cần sử dụng maillệnh (có thể hơi khó hiểu). Như được chỉ ra bởi một vài người khác, bạn có thể sử dụng lệnh này thay thế:

sudo rm /var/mail/YOURUSERNAME

12
Lưu ý bạn sẽ cần sử dụng q để thoát thư để lưu các thay đổi vào đĩa
bão_m2138

Các lệnh 'n' và 'd' sau khi sử dụng 't' để hiển thị thông báo đầu tiên không thực hiện như bạn mô tả cho tôi. 'D' dường như chỉ cuộn và 'n' có liên quan đến các biểu thức thông thường.
Nathan Hornby

@NathanHornby Bạn sẽ cần sử dụng lệnh đó khi bạn quay lại ?dấu nhắc lệnh. tsẽ cung cấp cho bạn thông báo đầy đủ về tin nhắn đầu tiên, với :lời nhắc nếu tin nhắn vượt quá số lượng đầu ra nhất định. Nhấn bất kỳ phím nào sẽ khiến nó tiếp tục hiển thị thêm thông báo, v.v., cho đến khi bạn đọc phần cuối của nó. Hoặc bạn có thể cuộn bằng chuột / bàn di chuột. Bạn có thể nhấn qđể hủy bỏ xem tin nhắn (Tôi không thể kiểm tra ngay bây giờ, nhưng hãy thử nó). Để xóa tất cả các tin nhắn, bạn sẽ sử dụng lệnh d *. Để xóa tin nhắn thứ hai, bạn sẽ sử dụng d 2, v.v. Sử dụng chúng tại ?dấu nhắc thư .
lấy cảm hứng từ

1
Đơn giản và hiệu quả, cảm ơn bạn.
Chrstph SLN

1
Bạn cũng có thể xóa một loạt các tin nhắn, ví dụ:d 1-15
Jay Shepherd

55

Nếu bạn không muốn gặp rắc rối khi sử dụng mail, bạn có thể đọc thư với

cat /var/mail/<username>

và xóa thư với

sudo rm /var/mail/<username>

bạn có thể cho tôi biết địa chỉ email nào được đăng ký trong / var / mail / Tôi sẽ kiểm tra nó như thế nào không?
AbhimanyuAryan

@ androidplusios.design Địa chỉ email là tên người dùng của bạn trên hệ thống. Các email là những người được hệ thống gửi cho bạn. Bạn cũng có thể là bí danh cho những người dùng khác trên hệ thống và do đó nhận được email của họ. Xem /etc/aliases. Để biết thêm thông tin, hãy xem Tin nhắn của bạn có tin nhắn mới trong Linux / UNIX là gì? .
kba

Đây là câu trả lời duy nhất ở đây thực sự có hiệu quả với tôi, chúc mừng!
Nathan Hornby

10

Điều đó có nghĩa là một quy trình hoặc tập lệnh bạn đã tạo đang gửi thư đến một tài khoản trên máy cục bộ của bạn (ví dụ: máy chủ thư chạy trên ứng dụng localhost).

Quản lý thư này bằng các lệnh sau:

t <message list>        type messages
n                       goto and type next message
e <message list>        edit messages
f <message list>        give head lines of messages
d <message list>        delete messages
s <message list>        file append messages to file
u <message list>        undelete messages
R <message list>        reply to message senders
r <message list>        reply to message senders and all recipients
pre <message list>      make messages go back to /var/mail
m <user list>           mail to specific users
q                       quit, saving unresolved messages in mbox
x                       quit, do not remove system mailbox
h                       print out active message headers
!                       shell escape
cd [directory]          chdir to directory or home if none given

A bao gồm các số nguyên, phạm vi giống nhau hoặc tên người dùng được phân tách bằng dấu cách. Nếu bị bỏ qua, Mail sẽ sử dụng thư cuối cùng được gõ.

A bao gồm tên người dùng hoặc bí danh được phân tách bằng dấu cách. Bí danh được định nghĩa trong .mailrc trong thư mục chính của bạn.


10

Như nguồn cảm hứng giải thích , bạn có thể tìm ra những gì đang xảy ra bằng cách sử dụng maillệnh.

Nếu bạn không muốn xóa từng nhóm tin nhắn không liên quan / được tạo tự động (như tôi), chỉ cần chạy lệnh bên dưới để loại bỏ tất cả các tin nhắn:

echo -n > /var/mail/yourusername
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.