unix /usr/bin中的Python脚本

mctunoxg  于 7个月前  发布在  Unix
关注(0)|答案(5)|浏览(79)

我正在用python编写一个非常基本的应用程序(目前只有一个文件)。我的问题是如何才能让python脚本在没有.py扩展名的情况下在/usr/bin中运行?
例如,与其运行

python htswap.py args

字符串
从它目前所在的目录,我希望能够cd到任何目录,并做

htswap args


提前感谢!

n8ghc7c1

n8ghc7c11#

只需通过重命名文件来去除.py扩展名。然后,您必须将以下行放在文件的顶部:

#!/usr/bin/env python

字符串
env是一个设置环境的小程序,以便执行正确的python解释器。
您还必须使用以下命令使文件可执行

chmod a+x htswap


并将其转储到/usr/local/bin中。这比/usr/bin更干净,因为该目录的内容通常由操作系统管理。

mwg9r5ms

mwg9r5ms2#

文件的第一行应该是

#!/usr/bin/env python

字符串
您应该删除.py扩展名,并使用

chmod ugo+x htswap

编辑:Thomas正确地指出,这样的脚本应该放在/usr/local/bin中,而不是/usr/bin中。请支持他的回答(也许是以我的为代价。七个赞成票(就像我们所说的)对于这种东西是荒谬的)

gajydyqb

gajydyqb3#

Shebang?

#!/usr/bin/env python

字符串
把这句话写在你档案的开头,就搞定了

wtzytmuj

wtzytmuj4#

#!/usr/bin/env python添加到htswap.py的顶部,并将htswap.py重命名为htswap,然后执行命令:chmod +x htswap使htswap可执行。

doinxwow

doinxwow5#

我在官方Python教程http://docs.python.org/tutorial/index.html中看到,

#! /usr/bin/env python

字符串
正如上面的答案所建议的那样使用。请注意,您也可以使用以下

#!/usr/bin/python


这是您将在shell脚本(如bash脚本)中看到的样式。

#!/bin/bash


看到官方的tuts去与第一个选项,这可能是你最好的选择。代码的一致性是要争取的!

相关问题