Como obtenho o nano para me dizer se não tenho permissões de gravação em um arquivo?

2

Eu usei ambientes shell no passado, onde o editor de texto "nano" me avisa se eu não tiver permissões de gravação em um arquivo quando eu abrir o arquivo para edição. Isso me poupa muito tempo quando eu esqueço de digitar "sudo" antes e depois passo o tempo editando o arquivo apenas para ter que fazer tudo de novo.

Eu gostaria de duplicar esse comportamento em vários outros servidores, mas não vejo em nenhum lugar nos nano manpages onde esta é uma opção.

    
por scotts 30.09.2009 / 21:25

2 respostas

2

Por que não substituir o comando nano por um script que verifica se você tem permissões de gravação e chama automaticamente sudo nano se não tiver? Economizando ainda mais tempo!

Você pode querer ter a saída de script que você não tem permissões de gravação antes de chamar sudo nano para que você não esteja se perguntando por que está sendo solicitada sua senha.

    
por 30.09.2009 / 21:48
2

Eu modifiquei o script vinculado na resposta correta para verificar se o usuário tem permissões de gravação para arquivos que não existem (verifica as permissões corretas do diretório) e algumas outras atualizações.

Esta é uma modificação de: link

#!/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
    
por 30.09.2009 / 23:00