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 view
sehingga 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 view
bagian dari Vi / Vim, jadi jangan ragu untuk menyarankan nama yang lebih baik.
(Tapi saya pikir implementasi penuh dari program ini akan membuat Vi view
berlebihan.)
Versi lengkap
vim
. Saya sedang mempertimbangkan penggabungan ... meskipun saya juga mempertimbangkan fakta bahwa instruksi khusus vim tidak akan berfungsinano
.