我以前使用过 shell 环境,其中文本编辑器“nano”会在我打开文件进行编辑时警告我是否没有文件的写入权限。这为我节省了很多时间,因为我以前忘记输入“sudo”,然后花了时间编辑文件,最后不得不重新编辑。
我想在其他几台服务器上复制这种行为,但在 nano 手册页中没有看到这个选项。
答案1
为什么不把nano
命令替换成一个脚本,检查您是否有写入权限,sudo nano
如果没有,则自动调用?这样可以节省您更多的时间!
您可能希望在调用之前让脚本输出您没有写权限,sudo nano
这样您就不会想知道为什么系统要求您输入密码。
答案2
我修改了正确答案中链接的脚本,以检查用户是否对不存在的文件具有写权限(检查正确的目录权限),以及一些其他更新。
这是对以下内容的修改:http://tuts4tech.net/2009/07/08/nano-write-check-before-editing/
#!/bin/bash
FILE="$1"
[ $# -eq 0 ] && exit 1
if [ -w "$FILE" ] || ( [ ! -e "$FILE" ] && [ -w `readlink -f $FILE | grep -o '/.*/'` ] ) ; then
nano $FILE
else
tput bel
echo "WARNING: You do not have write acess to $FILE"
echo -n "Continue? y/[n]: "
read REPLY
if [ $REPLY ] && [ $REPLY == "y" ] ; then
nano $FILE
fi
fi