Saya baru saja mencoba nano, dan apa yang saya temukan paling mengejutkan adalah bahkan tidak memperingatkan Anda bahwa file tersebut hanya-baca ketika Anda mulai mencoba mengedit file. ( PEMBARUAN: Rupanya nano 2.2 memang memperingatkan; 2.0 tidak. )
Berikut ini skrip (dasar) yang melakukan itu.
Itu memeriksa apakah Anda dapat mengedit file, dan jika Anda tidak bisa, itu menjalankan "nano" sebagai root.
/ usr / local / bin / edit (atau ~ / 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"
Dan sebuah perintah yang saya panggil viewsehingga Anda dapat menghindari prompt jika Anda tahu Anda tidak akan membuat perubahan.
/ usr / local / bin / view (atau ~ / bin / view )
editor=nano
readonlyflag=-v
"$editor" $readonlyflag "$1"
Sudah ada program yang disebut viewbagian dari Vi / Vim, jadi jangan ragu untuk menyarankan nama yang lebih baik.
(Tapi saya pikir implementasi penuh dari program ini akan membuat Vi viewberlebihan.)
Versi lengkap
vim. Saya sedang mempertimbangkan penggabungan ... meskipun saya juga mempertimbangkan fakta bahwa instruksi khusus vim tidak akan berfungsinano.