Linux环境变量名称中允许使用哪些字符?我对手册页和网络的粗略搜索只产生了有关如何使用变量的信息,但没有产生允许使用的名称。
我有一个Java程序,它需要一个包含点的已定义环境变量,例如com.example.fancyproperty。使用Windows,我可以设置该变量,但是我没有在Linux中设置它的运气(在SuSE和Ubuntu中尝试过)。甚至允许使用该变量名吗?
com.example.fancyproperty
来自公开组:
这些字符串的格式为name = value; 名称中不得包含字符“ =”。 对于要在符合IEEE Std 1003.1-2001的系统之间可移植的值,该值应由可移植字符集中的字符组成( NUL除外,如下所示 )。
因此,名称可以包含除=和NUL之外的任何字符,但是:
IEEE Std 1003.1-2001的Shell and Utilities卷中的实用程序使用的环境变量名称仅由大写字母,数字和 可移植字符集中定义的字符中 的’_’(下划线) 组成, 并且不能以数字开头 。实现可能允许使用其他字符;申请应容忍此类名称的存在。
因此,尽管名称可能有效,但您的外壳可能不支持字母,数字和下划线以外的任何内容。