Ich habe es gerade versucht nano
, und was mich am meisten überrascht hat, ist, dass Sie nicht einmal gewarnt werden, dass die Datei schreibgeschützt ist, wenn Sie versuchen, die Datei zu bearbeiten. ( UPDATE: Anscheinend warnt Nano 2.2; 2.0 nicht. )
Hier ist ein (grundlegendes) Skript, das das macht.
Es überprüft, ob Sie die Datei bearbeiten können, und wenn Sie dies nicht können, wird stattdessen "nano" als root ausgeführt.
/ usr / local / bin / edit (oder ~ / 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"
Und einen Befehl, den ich aufgerufen view
habe, damit Sie die Eingabeaufforderung umgehen können, wenn Sie wissen, dass Sie keine Änderungen vornehmen werden.
/ usr / local / bin / view (oder ~ / bin / view )
editor=nano
readonlyflag=-v
"$editor" $readonlyflag "$1"
Es gibt bereits ein Programm namens view
"Vi / Vim". Sie können also einen besseren Namen vorschlagen.
(Aber ich denke, eine vollständige Implementierung dieses Programms würde Vi view
überflüssig machen.)
Vollversionen
vim
. Ich denke über die Zusammenführung nach ... obwohl ich auch überlege, dass vim-spezifische Anweisungen nicht funktionierennano
.