我有一个shell,它调用一个类似于这样的python脚本。。。
外壳代码:
#!/bin/sh
python PyTest.py
print("FE FI FO FUM I'M GOING TO MAKE IT TUMBLE TUM TUM")
5 + 4
print("No semicolons here!")
Python代码:
#This is my test Python script running from bash
print("FE FI FO FUM I'M GOING TO MAKE IT TUMBLE TUM TUM")
print(5 + 4)
print("No semicolons here!")
这是输出。
74-85-81-234:Desktop Cody$ ./PyTest.sh
FE FI FO FUM I'M GOING TO MAKE IT TUMBLE TUM TUM
9
No semicolons here!
./PyTest.sh: line 5: syntax error near unexpected token `"FE FI FO FUM I'M GOING TO MAKE IT TUMBLE TUM TUM"'
./PyTest.sh: line 5: `print("FE FI FO FUM I'M GOING TO MAKE IT TUMBLE TUM TUM")'
我已经查找了“syntax error near unexpected token”错误,看起来这是预期的。有没有更好的方法可以做到这一点,并且有没有办法以这种方式调用函数而不出现Bash错误?
提前谢谢。
您可以使用以下选项之一:
或者
注意,
5 + 4
在这两种情况下都不会产生任何输出,因为这不是交互式python会话:使用
-i
选项将使其工作:输出:
如果要运行
bash
脚本,请在文件顶部指定bash
,而不是sh
:要从bash运行python脚本,只需执行以下操作:
如果要在脚本中嵌入python,则可以使用here文档:
或者写在bash中:
但为什么呢?Bash不能做任何python做不到的事情,但是python可以做的比Bash多得多。用python编写所有内容!只需在python脚本的顶部放置类似
#!/usr/bin/env python
的内容。相关问题 更多 >
编程相关推荐