2012-05-23 3 views
18

私はシェルスクリプトを書いていて、問題に遭遇しました。ユーザーが指定したテキストエディタを使用してファイルを開く方法はありますか?bashのデフォルトテキストエディタを開きますか?

+0

注意:一部のユーザーは、EDITORを自分自身をデーモン化するプログラムに設定し、スクリプトが終了するのを簡単に待たせることはできません。 –

+1

@WilliamPursellなぜ誰もそのようなことをしますか?それが適切なシナリオを教えてください。 – kraxor

+0

@kraxor、私はそれが決して適切ではないと言うだろうが、何人かの人々は狂ったことをする。誰かが新しいウィンドウを生成するGUIエディタを必要とすることは珍しいことではありません。 –

答えて

22

ユーザが選択したエディタは$EDITORである必要がありますが、依然としてデフォルトのまま選択する必要があります。

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

$ {EDITOR: - $ {VISUAL:-vi}} –

+0

'$ {FCEDIT: - $ {VISUAL: - $ {EDITOR:-vi}}}'とはどういう意味ですか? 'ed 'を含む' $ EDITOR'よりも視覚的な好みを与えることは良い考えのようです。 '$ FCEDIT'は' ksh'のためのenv varでした(恐らくまだあります)。 'fc'コマンドを使って履歴にアクセスします。 'bash'でも認識されます。 –

5

イグナシオの権利を(それは古いタイマーに、本質的にのみ有用ですが、間違いなくかかわらず、フォールバックは、POSIXが存在することが必要でedをする必要があります)。

グラフィカルエディタについて考えている場合は、xdg-open file.txtはあなたの後です。

+0

POSIXでは 'vi 'も必要ですか?それとも、 'ed'がPOSIXでないユーザーポータビリティユーティリティオプションだけです。しかし、「ed」に言及すると+1します。 –

+1

[POSIX 2008](http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap02.html)の環境変数 'POSIX2_UPE'(機能の旧名はUPEでした)の議論の下、 UPU内にある機能のリストがあります: 'User Portability Utilitiesオプションのユーティリティのリストは、 'bg'、' ex'、 'fc'、' fg'、 'jobs'、' more '、' talk'、 'vi'._理論的には、' fc'コマンドがあれば 'vi'も利用できるはずです。 –

0

注:xdg-open file.xmlは、おそらくWebブラウザで開きます。 だから、試してみてください。

# select your default sensible-editor from all installed editors, or not. 
    select-editor 
    # Open Default Text Editor 
    sensible-editor file.xml 
関連する問題