Acabo de intentarlo nano
, y lo que encontré más sorprendente es que ni siquiera te advierte que el archivo es de solo lectura cuando comienzas a tratar de editarlo. ( ACTUALIZACIÓN: aparentemente nano 2.2 advierte; 2.0 no. )
Aquí hay un script (básico) que hace eso.
Comprueba si puede editar el archivo y, si no puede, ejecuta "nano" como root en su lugar.
/ usr / local / bin / edit (o ~ / bin / edit )
sudo= # empty is false, non-empty is true
editor=nano # XXX check $EDITOR and $VISUAL
if test -e "$1" && test ! -w "$1"; then
if test -t 0 && test -t 2; then
printf "%s is not writable. Edit with sudo? [y/n] " "$1" 1>&2
read -n 1
case $REPLY in
y|Y)
sudo=true
;;
n|N)
sudo=
;;
*)
printf "\nExpected y or n. Exiting.\n" 1>&2
exit 1
;;
esac
else
printf "%s is not writable. Fix the permissions or run \"view\" instead." "$1" 1>&2
exit 1
fi
fi
${sudo:+sudo} "$editor" "$1"
Y un comando que llamé view
para que pueda evitar el aviso si sabe que no va a realizar ningún cambio.
/ usr / local / bin / view (o ~ / bin / view )
editor=nano
readonlyflag=-v
"$editor" $readonlyflag "$1"
Ya hay un programa llamado view
que forma parte de Vi / Vim, así que siéntete libre de sugerir un nombre mejor.
(Pero creo que una implementación completa de este programa haría que Vi sea view
redundante).
Versiones completas
vim
. Estoy considerando la fusión ... aunque también estoy considerando el hecho de que las instrucciones específicas de vim no funcionaránnano
.