发现linux下写python, 保存后的.py文件默认是没有x权限
这样一来, 即使代码首行添加了
#!/usr/bin/env python
在首次执行之前还要先chmod
请问大家有什么默认赋x权限的办法吗
伊谢尔伦2017-04-18 09:06:25
我比較少寫直接執行的腳本,所以倒是沒想過這個功能。不過思路倒還是有幾個的。
不知道題主使用的是什麼編輯器,我一般用 vim
,当然下面我说的方法在 emacs
上也適用。
打開你的 vim
配置文件,默认一般是 ~/.vimrc
,所以我通常都是這樣編輯:
vim ~/.vimrc
然後在最後面加上這一句:
au BufWritePost * if getline(1) =~ "^#!" | silent !chmod a+x <afile>
這一句的意思是如果你的檔案第一行是以#!
開頭的話,則預設為他加上可執行權限。
加完之後儲存退出,然後你編輯一個 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
裡面的內容是
python $*
然後加個執行權限, run xxx.py
你可以對這個腳本進行改造
比如判斷後綴是 py 就執行 Python,判斷是 c 就用 gcc,判斷是 .cpp 就用 g++ ..