Shell调用Python函数

Shell调用Python函数

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

#!/usr/bin/python
# port.py

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函数,检查80端口是否正在使用。-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(80)')

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

猜你喜欢

转载自blog.csdn.net/zhigang0529/article/details/85123204