首页 > 默认提供x可执行权

默认提供x可执行权

发现linux下写python, 保存后的.py文件默认是没有x权限

这样一来, 即使代码首行添加了

#!/usr/bin/env python

在首次执行之前还要先chmod
请问大家有什么默认赋x权限的办法吗

把你的Linux环境设置umask 默认给自己加x 如设置为766


python xxx.py

或者你写个脚本叫 run 里面的内容是

python $*

然后加个执行权限, run xxx.py

你可以对这个脚本进行改造
比如判断后缀是 py 就执行 Python,判断是 c 就用 gcc,判断是 .cpp 就用 g++ ..


首先,楼主的认识有些错误,#!/usr/bin/env python是指定脚本的解释器,+x是对 所有者,组成员和其他人都给予执行权限,这两个并没有什么联系。其次你也可以写个简单的脚本,每次使用vi打开.py文件的时候都执行,不过我认为没有这个必要,毕竟也只是一条chmod指令的事情。


我比较少编写直接执行的脚本,所以倒是没想过这个功能。不过思路倒还是有几个的。

不知道题主使用的是什么编辑器,我一般用 vim,当然下面我说的方法在 emacs 上也适用。

打开你的 vim 配置文件,默认一般是 ~/.vimrc,所以我一般都是这样编辑:

vim ~/.vimrc

然后在最后面添加上这一句:

au BufWritePost * if getline(1) =~ "^#!" | silent !chmod a+x <afile>

这一句的意思是如果你的文件第一行是以#! 开头的话,则默认给他加上可执行权限。

加完之后保存退出,然后你编辑一个 python 文件试试,应该是默认加执行权限了,我在ubuntudebian 上都测试通过。

如果你使用的是 emacs 的话,不妨参考这篇文章!


“+x”是增加可执行权限, 而“#!/usr/bin/env python”是使用哪个解释器来运行你的脚本。

【热门文章】
【热门文章】