为什么./file.py
以前可以工作,现在却bash file.py
不能工作?
当我运行bash file.py
或出现. file.py
如下source file.py
错误时:
file.py: line 4: syntax error near unexpected .....
但./file.py
工作正常。
file.py
#!/usr/bin/python3.4 if __name__ == "__main__": print("something")
答案1
当启动脚本(作为命令)时,它会查看哈希符号 ( #!
) 以了解使用什么来启动脚本。我敢打赌,在您的脚本中,它以#!/usr/bin/python
或类似符号开头。当您将其作为 启动时./script.py
,它会读取第一行并/usr/bin/python ./script.py
秘密执行。
如果您使用 将其添加到前面bash ./script.py
,则它会期望解释器是 Bash,而不是 Python。