Shell调用Python函数

Shell脚本调用Python函数,本例子是通过Shell调用Python脚本,检查服务器上的某端口是否开启,编写的Python脚本内容

#!/usr/bin/python
import socket

def scan(port):
    s = socket.socket()
    s.settimeout(0.1)
    if s.connect_ex((\'localhost\', port)) == 0:
        return \'port: \' + str(port) + \' open\'
    else:
        return \'port: \' + str(port) + \' not open\'
    s.close()

if __name__ == \'__main__\':
  scan()

 

 在Shell脚本中,这样编写命令

    cd /home/appuser
    checkresult=`python -c \'import port; print port.scan(80)\'`
    echo $checkresult

    
语句解释:首先cd到要执行的Python脚本目录,然后使用python -c \'import port; print port.scan(80)\' 调用port模块中的scan函数,-c选项是告诉Python来执行一些Python命令

echo输出结果 port: 80 open

 

如果传入一个不是正在使用的端口号801

checkresult=`python -c \'import port; print port.scan(801)\'`

echo输出结果
port: 801 not open

另外,`python -c \'import port; print port.scan(80)\'`  也可以写成  $(python -c \'import port; print port.scan(809)\')

以上为编写运维脚本的朋友提供帮助

 

收藏 打印