发现linux下写python, 保存后的.py文件默认是没有x权限
这样一来, 即使代码首行添加了
#!/usr/bin/env python
在首次执行之前还要先chmod
请问大家有什么默认赋x权限的办法吗
伊谢尔伦2017-04-18 09:06:25
我比较少编写直接执行的脚本,所以倒是没想过这个功能。不过思路倒还是有几个的。
不知道题主使用的是什么编辑器,我一般用 vim
,当然下面我说的方法在 emacs
上也适用。vim
,当然下面我说的方法在 emacs
上也适用。
打开你的 vim
配置文件,默认一般是 ~/.vimrc
,所以我一般都是这样编辑:
vim ~/.vimrc
然后在最后面添加上这一句:
au BufWritePost * if getline(1) =~ "^#!" | silent !chmod a+x <afile>
这一句的意思是如果你的文件第一行是以#!
开头的话,则默认给他加上可执行权限。
加完之后保存退出,然后你编辑一个 python
文件试试,应该是默认加执行权限了,我在ubuntu
和 debian
上都测试通过。
如果你使用的是 emacs
vim
配置文件,默认一般是 ~/.vimrc
,所以我一般都是这样编辑:🎜
rrreee
🎜然后在最后面添加上这一句:🎜
rrreee
🎜这一句的意思是如果你的文件第一行是以#!
开头的话,则默认给他加上可执行权限。🎜
🎜加完之后保存退出,然后你编辑一个 python
文件试试,应该是默认加执行权限了,我在ubuntu
和 debian
上都测试通过。🎜
🎜如果你使用的是 emacs
的话,不妨参考这篇文章!🎜怪我咯2017-04-18 09:06:25
首先,楼主的认识有些错误,#!/usr/bin/env python是指定脚本的解释器,+x是对 所有者,组成员和其他人都给予执行权限,这两个并没有什么联系。其次你也可以写个简单的脚本,每次使用vi打开.py文件的时候都执行,不过我认为没有这个必要,毕竟也只是一条chmod指令的事情。
大家讲道理2017-04-18 09:06:25
python xxx.py
或者你写个脚本叫 run
里面的内容是run
里面的内容是
python $*
然后加个执行权限, run xxx.py
python $*
run xxx.py
🎜你可以对这个脚本进行改造🎜比如判断后缀是 py 就执行 Python,判断是 c 就用 gcc,判断是 .cpp 就用 g++ ..🎜