Puncte:0

mailutils în script versus linia de comandă

drapel br

Următoarele funcționează bine așa cum era de așteptat din linia de comandă:

mail < /home/incoming/mailprocoutput.txt -s „Rezultatele procesării mesajelor...” -r [email protected] [email protected]

cat filename pipe mail etc funcționează bine și pe linia de comandă. Dar oricare dintre metode are ca rezultat un corp de mesaj gol atunci când este utilizat într-un script shell:

#!/bin/bash
# Acesta este pentru a trimite un e-mail din scriptul python mailproc cu rezultatele procesării mesajelor

timestamp=$(data +%T)
curDate=$(data +"%m-%d-%y" )

logger „Mailproc a rulat la $timestamp pe $curDate, trimițând răspunsul înapoi către creator...”

mail < /home/incoming/mailprocoutput.txt -s „Rezultatele procesării mesajelor...” -r [email protected] [email protected]

Ieșire

ce fac greșit? Ubuntu 18.04, GNU mailutils versiunea 3.4

FedKad avatar
drapel cn
Linia de comandă și scriptul sunt rulate de la *același utilizator*? Primiți vreo ieșire _stderr_ din script?
waltinator avatar
drapel it
Lipiți întotdeauna scriptul în `https://shellcheck.net`, un verificator de sintaxă sau instalați `shellcheck` local. Utilizarea „shellcheck” este parte a procesului de dezvoltare.
waltinator avatar
drapel it
Executați scriptul la pornirea sistemului, prin `cron`, `at` sau `batch`? Priviți rezultatele `echo "=== id ===";id;echo "=== set ===";set;echo "=== env ===";env | sort;echo "=== alias ===";alias` în fiecare dintre mediile dvs.
alabamatoy avatar
drapel br
@FedKad se pare că este într-adevăr o problemă a utilizatorului. Scriptul rulează sub user incoming și într-adevăr linia de comandă cat-to-pipe-to-mail nu funcționează pentru acel utilizator, dar funcționează pentru root. Deci am o problemă cu drepturile de utilizator.
alabamatoy avatar
drapel br
su nume de utilizator, apoi încercați să accesați fișierul cat și nu obțin nimic. fișierul este 0644 username:username Deci, trebuie să fac ceva pentru a permite utilizatorului să aibă drepturi de a pisa ceva care este afișat ca deținut de acel utilizator? Confuz, sunt.
FedKad avatar
drapel cn
Aș redirecționa ieșirea `stderr` _a întregului script_ către o locație care poate fi scrisă, cum ar fi `2>/tmp/mymail.err` pentru a vedea care este eroarea.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.