发现linux下写python, 保存后的.py文件默认是没有x权限
这样一来, 即使代码首行添加了
#!/usr/bin/env python 在首次执行之前还要先chmod 请问大家有什么默认赋x权限的办法吗
光阴似箭催人老,日月如移越少年。
我比較少寫直接執行的腳本,所以倒是沒想過這個功能。不過思路倒還是有幾個的。
不知道題主使用的是什麼編輯器,我一般用 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
python $*
然後加個執行權限, run xxx.py
run xxx.py
你可以對這個腳本進行改造比如判斷後綴是 py 就執行 Python,判斷是 c 就用 gcc,判斷是 .cpp 就用 g++ ..
「+x」是增加可執行權限, 而「#!/usr/bin/env python」是使用哪個解釋器來運行你的腳本。
把你的Linux環境設定umask 預設給自己加x 如設定為766
我比較少寫直接執行的腳本,所以倒是沒想過這個功能。不過思路倒還是有幾個的。
不知道題主使用的是什麼編輯器,我一般用
vim
,当然下面我说的方法在emacs
上也適用。打開你的
vim
配置文件,默认一般是~/.vimrc
,所以我通常都是這樣編輯:然後在最後面加上這一句:
這一句的意思是如果你的檔案第一行是以
#!
開頭的話,則預設為他加上可執行權限。加完之後儲存退出,然後你編輯一個
python
文件试试,应该是默认加执行权限了,我在ubuntu
和debian
上都測試通過。如果你使用的是
emacs
的話,不妨參考這篇文章!首先,樓主的認識有些錯誤,#!/usr/bin/env python是指定腳本的解釋器,+x是對 所有者,組成員和其他人都給予執行權限,這兩個並沒有什麼聯繫。其次你也可以寫個簡單的腳本,每次使用vi開啟.py檔的時候都執行,不過我認為沒有這個必要,畢竟也只是一條chmod指令的事情。
python xxx.py
或你寫個腳本叫
run
裡面的內容是然後加個執行權限,
run xxx.py
你可以對這個腳本進行改造
比如判斷後綴是 py 就執行 Python,判斷是 c 就用 gcc,判斷是 .cpp 就用 g++ ..
「+x」是增加可執行權限, 而「#!/usr/bin/env python」是使用哪個解釋器來運行你的腳本。
把你的Linux環境設定umask 預設給自己加x 如設定為766