我的项目结构:
/Users/user1/home/bashScrpts/shellScript.sh
/Users/user1/home/pyScrpts/pyScrpt.py
从shell脚本我想调用pyScrpt.py
的函数内容 pyScrpt.py
def test():
return sys.argv[1]
shellScript.sh
DATA="testXX"
cmd="import sys;sys.path.insert(0, '/Users/user1/home/pyScrpts/pyScrpt');import pyScrpt; print pyScrpt.test()"
xy=$(python -c \'${cmd}\' "${DATA}")
echo $xy
我收到错误:
File "<string>", line 1
'import
SyntaxError: EOL while scanning string literal
我不知道这里出了什么问题。
任何人都可以帮我吗?
答案 0 :(得分:1)
您只需要使用双引号\'
替换\'${cmd}\'
中的"${cmd}"
。
另外,您应该将import sys
添加到pyScrpt.py
。
答案 1 :(得分:0)
我之前从未这样做过,但我猜测它可能是由于错误的功能结构,它应该是:
def test()
return sys.argv[1]