J'ai besoin d'inclure le script python ci-dessous dans un script bash.
Si le script bash se termine avec succès, je dois exécuter le script ci-dessous:
#!/usr/bin/python
from smtplib import SMTP
import datetime
debuglevel = 0
smtp = SMTP()
smtp.set_debuglevel(debuglevel)
smtp.connect('192.168.75.1', 25)
smtp.login('my_mail', 'mail_passwd')
from_addr = "My Name <[email protected]>"
to_addr = "<[email protected]"
subj = "Process completed"
date = datetime.datetime.now().strftime( "%d/%m/%Y %H:%M" )
#print (date)
message_text = "Hai..\n\nThe process completed."
msg = "From: %s\nTo: %s\nSubject: %s\nDate: %s\n\n%s" % ( from_addr, to_addr, subj, date, message_text )
smtp.sendmail(from_addr, to_addr, msg)
smtp.quit()
shell-script
python
Amal P Ramesh
la source
la source
script.sh && python script.py
?import os
os.system ("./script.sh")
Réponses:
Vous pouvez utiliser heredoc si vous souhaitez conserver la source des scripts bash et python ensemble. Par exemple, supposons que le contenu d'un fichier appelé soit le suivant
pyinbash.sh
:Maintenant, l'exécution du
pyinbash.sh
produit:la source
Passez simplement un HereDoc à
python -
.Depuis l'aide de python
python -h
:- : program read from stdin
la source
L'approche la plus simple consiste simplement à enregistrer le script python sous, par exemple
script.py
, puis à l'appeler à partir du script bash ou à l'appeler après le script bash:Ou
la source
Que diriez-vous de cela pour un exemple:
CONTRE
la source