我已经决定,在我的.NET泡沫之外移动并开始尝试其他技术对我有好处。我运行了Ubuntu12并安装了python2.7和3.2。我可以直接在解释器中运行代码。
我在文件系统上有一个名为Standalone.py的基本脚本:
#!/usr/bin/env python3.2
import sys
print("this is a standalone script.")
当我在我的bash提示符下时,我输入$ python3.2 Standalone.py
。我收到回复说this is a standalone script
。但是当我输入$ Standalone.py
时,它会告诉我找不到命令。
如何运行此类脚本?
感谢您的帮助。
我将Standalone.py的权限更改为755.然后我运行了命令:
$ ./Standalone.py
并收到消息:
: No such file or directory
然后我将Standalone.py的权限切换回644.然后当我运行
时$ ./Standalone.py
我收到了消息
-bash: ./Standalone.py: Permission denied
我有什么遗失的吗?
答案 0 :(得分:9)
您需要使用
使脚本可执行chmod +x Standalone.py
通常,不会搜索当前目录中的可执行文件,因此您需要使用
./Standalone.py
告诉shell脚本在当前目录中。
答案 1 :(得分:3)
确保您的脚本文件具有linux换行符(仅\n
)而不是windows换行符(\r\n
)。你在Windows上编写脚本了吗?这发生在我身上一次。您应该检查编辑器设置。
答案 2 :(得分:2)
您的脚本应以#!/usr/bin/python
而不是#!/usr/bin/env python3.2
确保您位于脚本所在的文件夹中,您可以使用ls
chmod +x Standalone.py
./Standalone.py
答案 3 :(得分:0)
首先,为了执行一个脚本,它需要是可执行的。所以你要么做chmod + x $文件还是chmod 0740 $文件。当您将文件权限设置为644时,您将立即执行,因此如果给您一个错误。如果您不确定执行权和八进制表示法,可以使用:http://permissions-calculator.org/decode/0644/。 要真正回答你的问题,如果你想用$ file.py调用脚本,它需要在你的PATH变量中。您可以使用echo $ PATH显示它。这些是搜索要执行的脚本的目录。因此,您只需要为脚本提供正确的可执行文件,并将其放在PATH提供的目录中。
答案 4 :(得分:0)
你能检查/ usr / bin / python或/usr/bin/python3.2是否存在
执行以下comamnd:
which python3.2
然后在脚本顶部使用生成的路径。