Điểm:0

mailutils trong tập lệnh so với dòng lệnh

lá cờ br

Những điều sau đây hoạt động tốt như mong đợi từ dòng lệnh:

mail < /home/incoming/mailprocoutput.txt -s "Kết quả xử lý thư..." -r [email protected] [email protected]

cat filename pipe mail vv cũng hoạt động tốt trên dòng lệnh. Nhưng cả hai phương pháp đều dẫn đến nội dung thư trống khi được sử dụng trong tập lệnh shell:

#!/bin/bash
# Điều này là để gửi email từ tập lệnh python mailproc với kết quả xử lý thư

dấu thời gian=$( ngày +%T )
curDate=$( ngày +"%m-%d-%y")

logger "Mailproc đã chạy ở $timestamp trên $curDate, gửi phản hồi lại cho người tạo..."

mail < /home/incoming/mailprocoutput.txt -s "Kết quả xử lý thư..." -r [email protected] [email protected]

lối ra

Tôi đang làm gì sai? Ubuntu 18.04, GNU mailutils phiên bản 3.4

FedKad avatar
lá cờ cn
Dòng lệnh và tập lệnh có được chạy từ *cùng một người dùng* không? Bạn có nhận được bất kỳ đầu ra _stderr_ nào từ tập lệnh không?
waltinator avatar
lá cờ it
Luôn dán tập lệnh của bạn vào `https://shellcheck.net`, trình kiểm tra cú pháp hoặc cài đặt `shellcheck` cục bộ. Hãy biến việc sử dụng `shellcheck` thành một phần trong quy trình phát triển của bạn.
waltinator avatar
lá cờ it
Bạn có đang chạy tập lệnh khi khởi động hệ thống, thông qua `cron`, `at` hoặc `batch` không? Xem kết quả của `echo "=== id ===";id;echo "=== set ==="; set;echo "=== env ==="; env | sort;echo "=== bí danh ==="; bí danh` trong mỗi môi trường của bạn.
alabamatoy avatar
lá cờ br
@FedKad rõ ràng đây thực sự là sự cố của người dùng. Tập lệnh chạy khi người dùng đến và thực sự dòng lệnh cat-to-pipe-to-mail không hoạt động đối với người dùng đó, nhưng hoạt động đối với root. Vì vậy, tôi có một vấn đề quyền người dùng.
alabamatoy avatar
lá cờ br
su tên người dùng sau đó thử tệp cat và tôi không nhận được gì. tệp là 0644 tên người dùng: tên người dùng Vậy tôi phải làm gì để cho phép người dùng có quyền đối với thứ gì đó được hiển thị là thuộc sở hữu của người dùng đó? Bối rối, tôi.
FedKad avatar
lá cờ cn
Tôi sẽ chuyển hướng đầu ra `stderr` _của toàn bộ script_ đến một số vị trí có thể ghi như `2>/tmp/mymail.err` để xem lỗi là gì.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.