私はbashエクスポートファイルを整理し、それらが属する環境に応じて変数を分類しています。
たとえばHISTIGNORE
、、PATH
などPS1
はMANPAGER
「Bashセクション」と「Manセクション」にあります。
$EDITORおよび/または$VISUALはどうだろうか。 bashのマニュアルページに見つかりません。
答え1
あなたはそれを誤って分類しましたPATH
。どちらもそれにEDITOR
属します。VISUAL
これらの変数のアイデア所定の位置にある特定のアプリケーションでは無効です。標準化され、潜在的に使用できます。どのこれを必要とするアプリケーション。
- もしどの実行可能プログラムのパスを検索したいアプリケーションはを使用できます
PATH
。 (実際に呼び出すすべてのアプリケーションの場合ですexecvp()
。) - もしどのアプリケーションは、
SHELL
プログラムイメージファイルを見つけるために使用できるシェルを呼び出そうとします。 - もしどのラインエディタを呼び出すアプリケーションは
EDITOR
。 - もしどのビジュアルエディタを呼び出すアプリケーションは
VISUAL
。 - もしどのページャを呼び出すアプリケーションはを使用できます
PAGER
。 - もしどのアプリケーションは、ホームディレクトリがどこにあるかを知りたいと思います
HOME
。
など。
対照的に、HISTIGNORE
環境PS1
変数はまったく必要ありません。後者は標準でのみ言及されています(説明はありませんが)。一つできるセッションリーダープロセスまたはその他のトップレベルの親プロセスで環境変数に設定し、環境の継承を使用してシェルからそれらを取得できるようにします。
しかし、一人ができること代わりにただ次のように設定してください。シェル環境にエクスポートするのではなく、各シェル(シェルに応じて)で自動的に実行されるスクリプトの変数です。たとえば、次のようになります。私の~/.zshrc
コレクションがありますPS1
RPROMPT
シェル変数、彼らいいえ次へエクスポート環境変わりやすい。
追加読書
- 「他の環境変数」。 基本定義。単一のUNIX仕様。 IEEE 1003.1。 2018. グループを開きます。
execvp()
。 システムインターフェース。単一のUNIX仕様。 IEEE 1003.1。 2018. グループを開きます。- VISUALとEDITOR – 違いは何ですか?
- Bashの「エディタ」コマンドは何ですか?
- 基本端末のテキストエディタのコマンド
- 「呼び出し元」ショートカット/エイリアスがあるシステムは何ですか?
- Nanoをインストールせずに「Nanoが見つかりません」という警告を削除する方法は?
- ジョナサン・ドボイン・ポラード(2020)。Unixエディタとポケットベル。よく与えられる答えです。
答え2
man bash
次の2つの変数が挙げられますedit-and-execute-command
。
現在のコマンドラインからエディタを呼び出し、結果をシェルコマンドとして実行します。 Bashは
$VISUAL
、$EDITOR
およびエディタを順番に呼び出そうとします。emacs
他のプログラムはこれらの変数を頻繁に使用します。