shell脚本中执行python脚本并接收其返回值的例子

1.在shell脚本执行python脚本时,需要通过python脚本的返回值来判断后面程序要执行的命令

例:有两个py程序  hello.py

复制代码代码如下:

def main():
    print "Hello"

if __name__==‘__main__‘:
    main()
world.py

def main():
    print "Hello"

if __name__==‘__main__‘:
    main()

shell 脚本 test.sh

复制代码代码如下:

python hello.py
python world.py

执行sh test.sh 打印结果为

复制代码代码如下:

  hello
  world

在hello.py中通过返回值  让shell脚本通过参数来判断,

hello.py这样写

复制代码代码如下:

import sys

def main():
    try:
        print "hello"
        sys.exit(0)
    except:
        sys.exit(1)

if __name__==‘__main__‘:
    main()

shell 脚本改为

复制代码代码如下:

python hello.py
if [ $?==0 ];then
    exit
else
        python world.py        
fi

就可以判断了

sh脚本中执行了python脚本,如mysh.sh文件:

python "mypy.py"

result = $?

result就是调用python执行的结果。

原文地址:https://www.cnblogs.com/ExMan/p/9129791.html

时间: 2024-08-07 10:19:23

shell脚本中执行python脚本并接收其返回值的例子的相关文章

C#脱离IronPython中执行python脚本

给客户安装程序时除了安装.net framework还要安装IronPython,是不是觉得很麻烦? 上面这一切都弱爆了,下面我来介绍一种不安装IronPython只需要引入几个IronPython的dll就可以在c#中执行python脚本的方法. 1:引入IronPython中的几个dll 2:进入IronPython的Lib文件夹,把Lib中的内容打包成zip,名字任意既可.打包好后放到c#项目下 我把它放到了和py文件同一个目录中 3:很关键的一步,程序初始化时执行下段代码 ScriptE

如何在notepad++中执行python脚本?

cmd /k cd /d "$(CURRENT_DIRECTORY)" & python "$(FULL_CURRENT_PATH)" & ECHO. & PAUSE & EXIT cmd /k: 表示打开cmd窗口,运行/k后边的命令,并且执行完毕后保留窗口 cd /d "$(CURRENT_DIRECTORY)":cd /d切换目录到$(CURRENT_DIRECTORY)& :用来连接多条命令pyth

shell脚本中执行另一个shell脚本

分类: 可以在一个shell脚本中执行另一个shell脚本(或非可执行文件,主要用于取得一些变量的值),方法是: . 文件名(包括路径) 或 变量=文件名(包括路径) . $变量 注意,圆点后面有个空格. 这样,在本shell脚本的后面部分就可以引用其他文件中声明的一些变量. 当再用这些变量去执行第3个脚本时,我不知是怎么回事,总是有些莫名其妙的错误,发现只有这个文件中不存在空行才行,哪怕只有一个注释符,都不会出错,就是不能有空行. 其实我想应该也不是这个问题,而是windows和linux处理

Shell脚本中执行sql语句操作

这篇文章主要介绍了Shell脚本中执行sql语句操作mysql的5种方法,本文讲解了将SQL语句直接嵌入到shell脚本文件中.命令行调用单独的SQL文件.使用管道符调用SQL文件等方法,需要的朋友可以参考下 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到sh

Shell脚本中执行mysql的几种方式(转)

Shell脚本中执行mysql的几种方式(转) 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下: --演示环境   [[email protected] ~]# more /etc/issue   CentOS rele

shell脚本中执行mysql语句的方法

方法一:使用文件标签EOF重定向的方法的: #!/bin/bash  user=root  pass=123456  db=mysql  tablename=user  mysql -s --line-numbers -f -u$user -p$pass -D $db --delimiter=";" -E<  --SELECT host,user from $tablename order by 1;  SELECT host,user from $tablename order

inotify+rsync实现实时同步(附解决crontab中无法执行python脚本的问题)

1.准备环境 # 系统支持的话,下面的目录就会存在 ls /proc/sys/fs/inotify/ rpm -qa inotify-tools yum -y install inotify-tools 2.inotifywait监控目录状态变化 /usr/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M' --format '%T %w%f' -e delete,create,close_write /data # 可以把时间去掉 /usr/bin/

jenkins执行python脚本的方法,和python版本的兼容性问题

在jenkins上打算运行一段python脚本,查到一些常用的方法,下面会介绍.还遇到了版本兼容性问题导致的怎么都执行不成功,最终试了各种版本,定位到兼容性问题,真是各种坑. 一般有三种方法:1.安装执行python的插件: Python Plugin,安装后在配置那里就可以看到以下的选项,可以在Script部分直接写python代码 2. 用Execute Windows batch command执行python脚本 3. 用Execute shell执行python脚本,注意开始要写#!p

mac上使用crontab周期性执行python脚本

这个月买了本书<Linux系统命令及Shell脚本实践指南>, 看到了一个周期性执行任务cron.顿时产生一个想法: mac上有这种机制么? 加上自己也在15年下半年也学了点python脚本,哈哈,顿时就产生了这个想法“mac上使用crontab周期性执行python脚本”,不得不说 网络是给力的,居然还真有,顿时感觉学海无涯哇. 1. crontab -e 来编辑自定义自己的任务 关于如何定义自己的任务,我们可以参考here 2. 对python脚本进行编辑: 3. 效果就是,如下: 恩,基