为什么 `./file.py` 可以工作,但 `bash file.py` 不工作?

为什么 `./file.py` 可以工作,但 `bash file.py` 不工作?

为什么./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。

相关内容