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