我有一个调用像这样一个Python脚本壳...避免:靠近意外的标记语法错误在bash
shell代码:
#!/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")'
我查找了“意外标记附近的语法错误”错误,它看起来像这是预期的。有没有更好的方法来做到这一点,有没有办法以这种方式调用函数没有Bash错误?
在此先感谢。
如果你想编写Python,做到这一点,并使用Python解释器。如果你想编写一个shell脚本,使用一个shell。不要期望shell能够理解python或python来理解shell脚本。 – Mat
为什么你的“shell脚本”Python的大部分文本? – user2357112
你期望'5 + 4'做什么?没有赋值语句,没有'echo'语句,这对sh算术来说不是正确的语法。 Korn shell和zsh支持'print',但它不是POSIX恭维,不需要括号。你的评论说你正在使用bash,但是你在你的脚本中指定了'/ bin/sh'(它可能与bash链接,但不能作为bash)。 – cdarke