我目前正在准备一个shell脚本,作为其功能的一部分,它必须执行一些Python调用。
PY_OP=$(python -c 'import my_package as mp; print mp.some_operation()')
然而,当我在bash中调用我的shell脚本时,我只收到一个非常奇怪的语法错误:
$ ./my_script.sh
File "<string>", line 1
import my_package as mp; print mp.some_operation()
^
SyntaxError: invalid syntax
有趣的是,如果我只是在bash中执行python -c ...
命令,则不会发生此错误。
作为补充信息,我可以说以下内容:
virtualenv
来包含所有pip
已安装的软件包。对我所做错的任何建议或提示都将受到高度赞赏。
答案 0 :(得分:0)
基于@Cyrus在回答初始问题时给出的评论,我能够使用cat -A {file-name}.sh
命令解决问题。
在文件上执行它显示以下内容:
import my_package as mp
importM-BM- my_packageM-BM- asM-BM- mp
不幸的是,这些M-BM-
在Atom或Sublime等普通编辑器中不可见,但在sh
- 文件被执行时似乎有影响。这也解释了指向空白区域的错误点的奇怪位置(实际上它似乎是一些特殊的,不可见的字符)。