Właśnie próbowałem nanoi najbardziej zaskoczyło mnie to, że nawet nie ostrzega cię, że plik jest tylko do odczytu, gdy zaczynasz próbować edytować plik. ( AKTUALIZACJA: Najwyraźniej nano 2.2 ostrzega; 2.0 nie. )
Oto (podstawowy) skrypt, który to robi.
Sprawdza, czy możesz edytować plik, a jeśli nie możesz, zamiast tego uruchamia „nano” jako root.
/ usr / local / bin / edit (lub ~ / 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"
I polecenie, które zadzwoniłem view, aby uniknąć monitu, jeśli wiesz, że nie zamierzasz wprowadzać żadnych zmian.
/ usr / local / bin / view (lub ~ / bin / view )
editor=nano
readonlyflag=-v
"$editor" $readonlyflag "$1"
Istnieje już program o nazwie viewbędący częścią Vi / Vim, więc możesz zaproponować lepszą nazwę.
(Myślę jednak, że pełne wdrożenie tego programu spowodowałoby, że Vi stałaby się viewzbędna).
Pełne wersje
vim. Zastanawiam się nad fuzją ... choć rozważam także fakt, że instrukcje specyficzne dla vima nie będą działaćnano.