![如何自动授予文件权限?](https://linux22.com/image/1044203/%E5%A6%82%E4%BD%95%E8%87%AA%E5%8A%A8%E6%8E%88%E4%BA%88%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%EF%BC%9F.png)
当我尝试运行一个 python 文件时,hello.py
它会提示
bash: ./hello.py: Permission denied
所以我需要
chmod u+x hello.py
在我运行它之前。
是否可以在创建所有 python 文件后立即自动授予其访问权限?
答案1
你可以使用这样的简单脚本,
#!/bin/bash
if [ $# -lt 2 ]
then
chmod +x $(pwd)/$1
$(pwd)/$1
else
chmod +x $(pwd)/$1
$(pwd)/$1 $2
fi
将以上脚本另存为runpy.sh
,保存在PATH
(你可以保存在~/bin
)
从终端授予其执行权限,
chmod +x ~/bin/runpy.sh
用法
- 要
hello.py
在不改变其权限的情况下在终端中运行,
runpy.sh hello.py
- 如果你想在 Python 程序的参数中使用任何东西,请在里面给出参数,
" "
例如,
runpy.sh hello.py "-option arg1 arg2 agr3"
它应该能解决问题。但不要忘记在 python ( .py
) 文件中使用 shebang 行,
#!/usr/bin/python
答案2
不,这是不可能的。您必须自己对这些文件进行 chmod 操作。如果您有可编程编辑器(例如 vim 或 emacs),您可以编写一个插件,在写入名称以 .py 结尾的文件时自动执行此操作。