/usr/bin中的Python脚本

22 投票
5 回答
21509 浏览
提问于 2025-04-15 13:05

我正在用Python写一个比较简单的应用程序(现在只有一个文件)。我想知道怎么才能让这个Python脚本在/usr/bin目录下运行时,不需要加.py后缀。

举个例子,我希望不是在当前目录下运行

python htswap.py args

而是可以在任何目录下,直接输入

htswap args

谢谢大家的帮助!

5 个回答

2

什么是Shebang?

#!/usr/bin/env python

把这个放在你文件的开头,就可以了。

15

文件的第一行应该是

#!/usr/bin/env python

你需要去掉 .py 这个后缀,并且让这个文件可以执行,方法是使用

chmod ugo+x htswap

编辑: Thomas 正确指出,这种脚本应该放在 /usr/local/bin 而不是 /usr/bin。请给他的回答点赞(可能会影响我的点赞数。现在这个话题有七个点赞,真是太离谱了)

49

只需要通过重命名文件来去掉 .py 后缀。然后,你需要在文件的最上面加上以下这一行:

#!/usr/bin/env python

env 是一个小程序,它会设置环境,以确保正确的 python 解释器被执行。

你还需要让你的文件可以执行,使用下面的命令:

chmod a+x htswap

然后把它放到 /usr/local/bin 目录下。这个目录比 /usr/bin 更干净,因为 /usr/bin 里的内容通常是由操作系统来管理的。

撰写回答