如果我没有文件的写权限,如何让 nano 告诉我?

如果我没有文件的写权限,如何让 nano 告诉我?

我以前使用过 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

相关内容