当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 8 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : Shell的嵌套调用Python
帖子发表于 : 2010-06-18 9:17 

注册: 2010-06-18 8:58
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
假设我在我把python安装在/root下。在/root/python/bin中的执行程序python。
我可以写一个批处理/root/sh1,执行这个python。

#!/root/python/bin/python
....

当我再写一个批处理/root/sh2,调用批处理/root/sh1:

#!/root/sh1
....

/root/sh2 没法运行。
但奇怪的是
/root/sh1 /root/sh2

sh2可以正常运作。
请高手指点一二。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: Shell的嵌套调用Python
帖子发表于 : 2010-06-18 10:53 

注册: 2009-12-01 20:02
帖子: 208
送出感谢: 0 次
接收感谢: 0 次
'“#!/root/sh1
....

/root/sh2 没法运行。"'
我认为此时/root/sh2是由bash执行,而不是python了,所以。
“/root/sh1 /root/sh2"
这一句我没看懂。
ps:你是第一次呀,哈哈。


页首
 用户资料  
 
3 楼 
 文章标题 : Re: Shell的嵌套调用Python
帖子发表于 : 2010-06-18 16:01 
头像

注册: 2006-10-25 18:08
帖子: 1582
送出感谢: 0 次
接收感谢: 0 次
代码:
cat hello.sh && cat hello.py && ./hello.sh
#!/bin/bash
./hello.py
#!/usr/bin/env python
print 'Hello. I am a python program.'
name = raw_input("What is your name? ")
print "Hello there, " + name + "!"

Hello. I am a python program.
What is your name? dd
Hello there, dd!


_________________
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。


页首
 用户资料  
 
4 楼 
 文章标题 : Re: Shell的嵌套调用Python
帖子发表于 : 2010-06-18 16:15 
头像

注册: 2008-03-25 15:49
帖子: 25878
地址: 谁知道?
送出感谢: 8
接收感谢: 10
fuxiu 写道:
ps:你是第一次呀,哈哈。

恭喜你破了处帖


页首
 用户资料  
 
5 楼 
 文章标题 : Re: Shell的嵌套调用Python
帖子发表于 : 2010-06-18 16:41 

注册: 2009-12-01 20:02
帖子: 208
送出感谢: 0 次
接收感谢: 0 次
pocoyo 写道:
fuxiu 写道:
ps:你是第一次呀,哈哈。

恭喜你破了处帖

哈哈,开个玩笑,lz别往心里去。
代码:
cat python.py&&cat 1.sh&&cat 2.sh&&./2.sh
#!/usr/bin/python
print("this is python world")
#!/bin/bash
./python.py
#!/bin/bash
./1.sh

this is python world


页首
 用户资料  
 
6 楼 
 文章标题 : Re: Shell的嵌套调用Python
帖子发表于 : 2010-06-18 18:26 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
引用:
当我再写一个批处理/root/sh2,调用批处理/root/sh1:

#!/root/sh1
....

/root/sh2 没法运行。
但奇怪的是
/root/sh1 /root/sh2

sh2可以正常运作。

没法运行是什么现象?总得有点信息吧?


页首
 用户资料  
 
7 楼 
 文章标题 : Re: Shell的嵌套调用Python
帖子发表于 : 2010-06-19 10:13 

注册: 2010-06-18 8:58
帖子: 2
送出感谢: 0 次
接收感谢: 0 次
感谢名位帮忙
1.sh内容如下
#!./sh2
......

2.sh内容如下
#!/..../ptyhon
import sys

sys.path[0:0] = [
....
]

_interactive = True
if len(sys.argv) > 1:
_options, _args = __import__("getopt").getopt(sys.argv[1:], 'ic:m:')
_interactive = False
for (_opt, _val) in _options:
if _opt == '-i':
_interactive = True
elif _opt == '-c':
exec _val
elif _opt == '-m':
sys.argv[1:] = _args
_args = []
__import__("runpy").run_module(
_val, {}, "__main__", alter_sys=True)

if _args:
sys.argv[:] = _args
__file__ = _args[0]
del _options, _args
execfile(__file__)

if _interactive:
del _interactive
__import__("code").interact(banner="", local=globals())

当运行2.sh时,会转换为PYTHON界面。
当运行1.sh时,出提示说第..行代码出错。
当运行2sh 1.sh(即把1.sh当python脚本) 运行时,1sh脚本顺利执行。


页首
 用户资料  
 
8 楼 
 文章标题 : Re: Shell的嵌套调用Python
帖子发表于 : 2010-06-19 20:42 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
#!./sh2
真是这么样的?起码应该用绝对路径吧?


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 8 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译