Como posso fazer com que 'sudo crontab -e' use o ambiente 'sudoedit'?

6

Eu comecei a usar sudoedit <file> em vez de sudo vim <file> . Uma das vantagens é que ele usa o meu local ~/.vimrc . No entanto, ao usar sudo crontab -e , ele usa /root/.vimrc . Existe uma maneira de fazer o sudo crontab -e usar meu local ~/.vimrc ?

Aqui está uma pergunta relacionada , sobre o uso de sudoedit com vimdiff . No entanto, substituir crontab -e por vimdiff não funciona.

    
por Sparhawk 17.05.2015 / 01:20

1 resposta

1

Assumindo que você deseja que esteja editando o crontab root , sudo deve dar a você autoridade root. Depois disso, crontab invocará ${VISUAL:-${EDITOR:-vi}} (usará $VISUAL , a menos que não exista; nesse caso, usará $EDITOR , a menos que não exista; nesse caso, ' vou usar vi ).

Você tem algumas soluções possíveis. Todos eles subvertem a segurança fornecida por sudo , mas você já deve estar ciente desses problemas (e estar disposto a proteger seu .vimrc ) ou você não usaria sudoedit em primeiro lugar.

O melhor é provavelmente adicionar uma atribuição à variável HOME na linha de comando sudo , então crontab acha que o diretório HOME é diferente:

sudo HOME=$HOME crontab -e

(Esse comando não funcionará se houver espaço em branco no caminho do seu diretório pessoal!)

    
por 18.05.2015 / 06:24