Tôi mới thử nano
, và điều tôi thấy ngạc nhiên nhất là nó thậm chí không cảnh báo bạn rằng tệp chỉ đọc khi bạn bắt đầu cố gắng chỉnh sửa tệp. ( CẬP NHẬT: Rõ ràng nano 2.2 không cảnh báo; 2.0 không. )
Đây là một kịch bản (cơ bản) làm điều đó.
Nó kiểm tra xem bạn có thể chỉnh sửa tệp hay không và nếu không thể, nó sẽ chạy "nano" dưới dạng root.
/ usr / local / bin / chỉnh sửa (hoặc ~ / bin / chỉnh sửa )
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"
Và một lệnh tôi đã gọi view
để bạn có thể tránh lời nhắc nếu bạn biết bạn sẽ không thực hiện bất kỳ thay đổi nào.
/ usr / local / bin / view (hoặc ~ / bin / view )
editor=nano
readonlyflag=-v
"$editor" $readonlyflag "$1"
Đã có một chương trình được gọi là view
một phần của Vi / Vim, vì vậy hãy đề xuất một tên tốt hơn.
(Nhưng tôi nghĩ rằng việc thực hiện đầy đủ chương trình này sẽ khiến Vi trở view
nên dư thừa.)
Phiên bản đầy đủ
vim
. Tôi đang xem xét việc hợp nhất ... mặc dù tôi cũng đang xem xét thực tế rằng các hướng dẫn cụ thể của vim sẽ không hoạt độngnano
.