Właśnie próbowałem nano
i 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 view
bę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ę view
zbę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
.