2012-05-23 39 views
18

Tôi đã viết một kịch bản lệnh shell và gặp sự cố. Có cách nào để mở tệp bằng trình soạn thảo văn bản được chỉ định của người dùng không?Mở trình soạn thảo văn bản mặc định trong bash?

+0

Hãy cẩn thận: một số người dùng sẽ thiết lập EDITOR để một chương trình mà daemonizes chính nó, và kịch bản của bạn sẽ không thể dễ dàng đợi họ để kết thúc. –

+1

@WilliamPursell Tại sao mọi người lại làm như vậy? Bạn có thể vui lòng cho tôi một kịch bản phù hợp không? – kraxor

+0

@kraxor, tôi sẽ nói nó không bao giờ thích hợp, nhưng một số người làm những điều điên rồ. Nó không phải là bất thường đối với một ai đó muốn một trình soạn thảo gui mà sinh ra một cửa sổ mới. –

Trả lời

22

Trình chỉnh sửa được chọn của người dùng phải ở trong $EDITOR, nhưng bạn vẫn phải chọn mặc định sane.

"${EDITOR:-vi}" file.txt 
+3

Bạn có thể muốn thực hiện nhiều dự phòng hơn, ví dụ: $ {EDITOR: - $ {VISUAL: -vi}} –

+0

Điều gì về '$ {FCEDIT: - $ {VISUAL: - $ {EDITOR: -vi}}}'? Đưa ra tùy chọn VISUAL trên '$ EDITOR' chứa' ed' có vẻ như là một ý tưởng hay. '$ FCEDIT' là env var cho' ksh' (có thể vẫn là), trong đó lệnh 'fc' được sử dụng để truy cập lịch sử; nó cũng được nhận ra bởi 'bash'. –

5

đúng Ignacio (mặc dù cho là, dự phòng nên ed, mà POSIX đòi hỏi phải có mặt, mặc dù nó chủ yếu chỉ hữu ích để cũ-giờ).

Nếu bạn đang nghĩ về trình chỉnh sửa đồ họa, xdg-open file.txt là những gì bạn đang theo dõi.

+0

POSIX cũng yêu cầu 'vi', phải không? Hoặc là chỉ có tùy chọn Tiện ích người dùng di động cho POSIX nơi 'ed' không phải là. Nhưng +1 để đề cập đến 'ed'. –

+1

Theo thảo luận về biến môi trường 'POSIX2_UPE' (tên cũ cho đối tượng địa lý là Tiện ích mở rộng người dùng di động, UPE) trong [POSIX 2008] (http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap02.html), có một danh sách các tính năng có trong UPU: '_Danh sách các tiện ích trong tùy chọn Tiện ích người dùng di động như sau: 'bg',' ex', 'fc',' fg', 'jobs',' khác ',' talk', 'vi'._ Vì vậy, về mặt lý thuyết, nếu bạn có lệnh' fc', bạn cũng nên có 'vi'. –

0

lưu ý: xdg-open file.xml sẽ mở trong Trình duyệt web, rất có thể. Vì vậy, hãy thử;

# select your default sensible-editor from all installed editors, or not. 
    select-editor 
    # Open Default Text Editor 
    sensible-editor file.xml 
Các vấn đề liên quan