【问题标题】:Syntax error on bash for running python script用于运行 python 脚本的 bash 语法错误
【发布时间】:2018-08-02 05:26:55
【问题描述】:

我想运行这个简单的 python 代码 int 终端:

#!/usr/bin/env python3

print('Hello world')

我将此脚本保存为 hello.py

我去终端写下:

$ chmod +x hello.py

然后我点击进入。这是为了允许授予权限。终端然后向我展示了这个:

-bash: $: command not found

好的...然后我写下hello.py的路径:

$ /Users/myname/Documents/MyPythonScripts/hello.py

我按下回车键。我期待终端打印出 hello world 但令我恐惧的是,终端显示如下:

/Users/myname/Documents/MyPythonScript/hello.py: line 3: syntax error near unexpected token `'Hello world''
/Users/hadi/Documents/MyPythonScript/hello.py: line 3: `print('Hello world')'

这里有什么问题?

顺便说一句,在 macOS 10.13.3 和 Python 3.6.3 上运行

【问题讨论】:

  • 您是否真的在行首输入了$ 符号?如果您在示例中看到它,它只是提示,而不是命令的一部分。所以只需输入chmod +x hello.py
  • 您的第一行(shebang 行,以#! 开头)似乎无法识别。如果您的行尾不是 Unix '\n',而是 Windows 行尾,则可能会发生这种情况。您使用什么编辑器创建脚本?
  • 不行,我只输入chmod +x hello.py
  • 哦,我知道了。在#!/usr/bin/env python 之前,我的python 脚本中有一个空格。很抱歉浪费您的时间。

标签: python bash terminal shebang


【解决方案1】:

首先,这一行:

-bash: $: command not found

告诉你执行了不正确的“$”。

您设置权限的命令应如下所示:

chmod +x hello.py

另一个注释是shebang行应该没有空格:

#!/usr/bin/env python3

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-06-30
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多