python 脚本:
- 21,0-1 All
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- #此脚本用于检测域名解析是否正常
- import os
- namelist = {'www.51cto.com':'218.11.0.91','www.51talk.com':'60.205.82.82'}
- mail = [,]
- def check_domain():
- '''使用nslook域名解析并与字典ip对比,如果解析异常发邮件给指定收件人'''
- for i in namelist:
- address = os.popen("nslookup %s | grep -v '#53' | awk -F':' '/^Address/{print $2}'" % i).read().strip()
- if (address == namelist[i]):
- pass
- else:
- for j in mail:
- os.popen("echo '%s域名解析异常,请确认!'| mail -s '%s域名解析异常' %s" %(i,i,j))
- #os.popen括号中百分号后面的i,i,j分别是将python的指定变量传到shell命令中
- check_domain()
小结:
上述 python 脚本中,需要将 python 中的某些变量传递给 shell 中引用,在此总结学习到的几种方法如下
实例 1:
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- import os
- var = 'test'
- os.environ['var'] = str(var) #environ的键值必须是字符串
- os.system('echo $var')
实例 2:
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- import os
- var = 'test'
- os.system("echo %s" % var)
实例 3:
- #!/usr/bin/python
- # -*- coding: utf-8 -*-
- import os
- var = 'test'
- output = os.popen("echo %s" % var)
- print output.read().strip()
来源: