EDITOR環境変数は最初にどこに設定されますか?

EDITOR環境変数は最初にどこに設定されますか?

EDITOR環境変数はどこで初期化されますか?これまで、次のファイルを確認しましたが、そのファイルがどこにあるかが見つかりませんでした。

  • ~/.bashrc
  • ~/.bash_profile
  • ~/.プロフィール
  • /etc/設定ファイル
  • /etc/bashrc
  • /etc/環境

答え1

どこにも。あなたは間違った観点からこれについて考えています。

各アプリケーションには、独自の好みのエディタ(またはポケットベルなどの必要なもの)があります。それは組み込みアプリケーションを入力してください。コンパイル時に定義され、絶対に変更されません。

アプリケーションを作成した人〜したいユーザーが後で変更できるようにします。その後、アプリケーションはEDITOR、PAGERなどの環境変数を表示し、ユーザー定義のすべてを使用できます。

ユーザーが好むエディタに切り替えることができる一部のアプリケーションは、環境変数EDITORを表示せず、代わりに独自の設定ファイルを表示します。または両方(gitたとえば)。

答え2

$EDITORが現在シェルに設定されているようですが、どのように、どこに設定されているのかわかりませんか?この場合、straceLinuxがインストールされているシステムなどを使用している場合は、BASHで開かれたすべてのファイルを確認することをお勧めします。この質問に対する回答を少し修正しました。ログイン時にbashが実行されているスクリプトを確認してください。

echo exit | strace -e open bash -li

BASHのマニュアルページから:

      -i        If the -i option is present, the shell is interactive.
       -l        Make bash act as if it had been invoked as a login shell (see INVOCATION below).

この答えの別の説明で言及されているもう1つの方法は、-x実行されたすべてのコマンドをエコーできるフラグを使用してbashを呼び出すことです。

/bin/bash -x -l -i -c 'exit' 2>&1 | less

起動時に$ EDITORが何らかの方法で設定され、シェルが初期化された後に実行されている他のスクリプトまたはプログラムによってエクスポートされないように、このタスクを最初に実行します。

関連情報