ポイントを含む変数をエクスポートする方法次の操作を試みると、「無効な変数名」というメッセージが表示されます。
export my.home=/tmp/someDir
-ksh: my.home=/tmp/someDir: invalid variable name
メタ文字ドット(.)をエスケープしても役に立ちません。
$ export my\.home=/tmp/someDir
export: my.home=/tmp/someDir: is not an identifier
ベストアンサー1
少なくともbash
マニュアルページの場合、エクスポート構文は次のように定義されます。
export [-fn] [name[=word]] ...
また、「名前」を次のように定義します。
name A word consisting only of alphanumeric characters and under‐
scores, and beginning with an alphabetic character or an under‐
score. Also referred to as an identifier.
my.home
したがって、有効な識別子ではないため、実際に変数を定義することはできません。
私はあなたのkshが非常に似た識別子定義を持っているので、そのような変数も許可しないと確信しています。 (マンページを見てください。)
また、識別子(および変数名)の資格を指定する一種の汎用標準(POSIX?)があると確信しています。
何らかの理由でこの種の変数が本当に必要な場合は、次のようなものを使用できます。
env "my.home=/tmp/someDir" bash
とにかく定義しなさい。ただし、今回も一般的なシェル構文を使用してアクセスすることはできません。この場合、Perl などの他の言語が必要な場合があります。
perl -e 'print $ENV{"my.home"}'
例えば
env "my.home=/tmp/someDir" perl -le 'print $ENV{"my.home"}'
パスを印刷する必要があります。