|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 | |
|
Member
Iscritto dal: Aug 2010
Messaggi: 43
|
Script per mailserver... e tre
Ragazzi chiedo scusa perchè è la terza volta che torno a rompere le scatole per questo dannato script che un giorno funziona e uno no...evidentemente non si può essere modificato da solo ma ho notato che da problemi a seconda del pc dal quale lo lancio...magari dipende dall'interprete bash utilizzato...o le stesse regole di sintassi valide per una shell non sono valide per un'altra non so che dire...
In questo momento sono su windows in ufficio, quindi non posso riportare esattamente l'errore che mi viene restituito (mi pare sia ogni tanto UOF e ogni tanto altro); comunque sia a seconda di come tento di cambiare la sintassi, l'errore si trova alle righe 10 o 11 (non escludo che ci possano essere altri errori) : EMAILS=$(cat $RCVR) for i in $EMAILS Ho provato sia con $ e poi le parentesi "()" sia usando gli apici a seconda di come di volta in volta mi è stato consigliato...ero riuscito a tentativi a farlo funzionare sul vecchio red hat che avevo sul notebook ma adesso lo stesso script non funziona più su ubuntu 10...nel caso fosse utile saperlo... ecco il codice... Quote:
|
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Esatto a seconda dei casi prenderà l'interprete di default; scusa, colpa mia, questione di abitudine.
Forza l'uso di bash: Codice:
#!/bin/bash [...]
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#3 | |||
|
Member
Iscritto dal: Aug 2010
Messaggi: 43
|
Quote:
Quote:
Quote:
Ultima modifica di mrandre : 15-12-2010 alle 12:14. |
|||
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
|
Ipotesi: il file /home/andrea/Desktop/mailer/list.txt non esiste (togliamo pure il potenziale problema dovuto alla presenza di spazi nel nome).
Codice:
#!/bin/bash #Variabili SND=sendemail [email protected] RCVR="/home/andrea/Desktop/mailer/list.txt" SMTP=smtpout.secureserver.net PSWD=######## TXT="/home/andrea/Desktop/mailer/body.txt" #Codice if [ ! -e $RCVR ]; then echo "Il file RCVR \"$RCVR\" non esiste! (elenco indirizzi)"; exit 1; fi if [ ! -e $TXT ]; then echo "Il file TXT \"$TXT\" non esiste! (testo messaggio)"; exit 1; fi EMAILS=$(cat $RCVR) for i in $EMAILS; do echo -n "invio mail a $i"; $SND -f $SENDER -t $address -u Company Presentation B -s $SMTP -xu $SENDER -xp $PSWD -o message-file=$TXT; echo -ne ".\n"; done
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...) |
|
|
|
|
|
#5 | |
|
Member
Iscritto dal: Aug 2010
Messaggi: 43
|
Quote:
cat /home/andrea/Desktop/mailer/list.txt ricevo di fatto come output tutte le righe del file quindi lo escluderei. per quanto riguarda sendemail -----------> http://freshmeat.net/projects/sendemail/ ed anche questo, eseguito singolarmente in shell funziona correttamente. Ho controllato e ricontrollato...ma non riesco a trovare l'errore! Comunque appena torno a casa provo lo script "nuovo" |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:44.




















