GNU/Linux >> Linux の 問題 >  >> Linux

Linux 環境変数名で使用できる文字

IEEE Std 1003.1-2008 / IEEE POSIX P1003.2/ISO 9945.2Shell and Tools 標準のシェルに関する POSIX 標準セクションでは、変数名の語彙規則は定義されていませんが、ソースをざっと見ると、次のようなものを使用していることがわかります

[a-zA-Z_]+[a-zA-Z0-9_]*

(編集:2 番目の文字クラスに不足していたアンダースコアを追加しました。)

一部のシェルは正規表現の + をサポートしていないため、潜在的により移植性の高い正規表現は次のようになります:

[a-zA-Z_]{1,}[a-zA-Z0-9_]{0,}


オープン グループから:

<ブロック引用>

これらの文字列の形式は name=value; です。 名前に文字「=」を含めないでください。 IEEE Std 1003.1-2001 に準拠するシステム間で値を移植できるようにするには、値を移植可能な文字セットの文字で構成する必要があります (以下に示す NULand を除く)。 ).

したがって、名前には =と NUL 以外の任意の文字を含めることができますが、

<ブロック引用>

IEEE Std1003.1-2001 のシェルおよびユーティリティ ボリュームのユーティリティで使用される環境変数名は、大文字、数字、および「_」(アンダースコア) のみで構成されます Portable Character Set で定義された文字から数字で始まらない .他の文字は、実装によって許可される場合があります。アプリケーションは、そのような名前の存在を許容するものとします。

そのため、名前が有効であっても、シェルが文字、数字、アンダースコア以外をサポートしていない可能性があります。


Linux
  1. Linux エクスポート コマンドの例 (環境変数の設定方法)

  2. Linux 環境での C#

  3. Linux 環境変数値の最大サイズは?

  1. Linux環境変数:LinuxVPSでの読み取りと設定の方法

  2. Linux での環境変数のアクセシビリティ

  3. Linux ネットワーク インターフェイス名に文字を使用できますか?

  1. Linuxコマンドラインナビゲーションのヒント/コツ3-CDPATH環境変数

  2. Linux環境変数のヒントとコツ

  3. Linux –すべてのユーザーにとって永続的な環境変数?