Se ci fosse un "Primo problema mondiale" per gli script, questo sarebbe.
Ho uno dei seguenti codici in uno script che sto aggiornando:
if [ $diffLines -eq 1 ]; then
dateLastChanged=$(stat --format '%y' /.bbdata | awk '{print $1" "$2}' | sed 's/\.[0-9]*//g')
mailx -r "Systems and Operations <sysadmin@[redacted].edu>" -s "Warning Stale BB Data" jadavis6@[redacted].edu <<EOI
Last Change: $dateLastChanged
This is an automated warning of stale data for the UNC-G Blackboard Snapshot process.
EOI
else
echo "$diffLines have changed"
fi
Lo script invia e-mail senza problemi, ma il comando mailx è nidificato in un'istruzione if, quindi mi sembra che rimangano due opzioni:
- Inserire
EOI
una nuova riga e interrompere i modelli di rientro o - Continua con il rientro ma usa qualcosa come un'istruzione echo per ottenere mailx per succhiare la mia email.
Sono aperto alle alternative all'ereditarietà, ma se c'è un modo per aggirare questo è la mia sintassi preferita.
$dateLastChanged
) se faccio la cosa hypen + virgolette nel tuo esempio, ma se prendo il trattino e citazioni e metto EOI su un nuova riga inizia a espandersi di nuovo.