Linux环境变量名中允许哪些字符?我对手册页和网络的粗略搜索只产生了关于如何处理变量的信息,但没有提供允许使用哪些名称的信息.

我有一个Java程序,它需要一个定义的环境变量,包含一个点,比如com.example.fancyproperty.在Windows中,我可以设置这个变量,但在linux中(在SuSE和Ubuntu中try 过)我没有运气设置它.这个变量名允许吗?

推荐答案

The Open Group开始:

这些字符串的形式是

因此名称可以包含除=和NUL之外的任何字符,但是:

Environment variable names used by the utilities in the Shell and Utilities volume of IEEE Std 1003.1-2001 consist solely of uppercase letters, digits, and the '_' (underscore)个角色

因此,虽然名称可能有效,但shell可能不支持字母、数字和下划线之外的任何内容.

Linux相关问答推荐

空字符串和空文件的区别

我想强调某些条件是否与Linux中的全部输出匹配

Bash:将带有新行的字符串转换为带有逗号、内联的唯一值的字符串

Linux 中大型 TSV 的条件编辑

需要获取文件名、行号、模式在文件中的匹配位置

`__meminit` 在 Linux 内核中意味着什么?

删除 csv 列中的不匹配值

使用 sed linux 命令和 i sed 命令进行 preprend 时的反向引用

我应该如何从非 root Debian Linux 守护进程登录?

使用带有 gnome-keyring 的 Git 凭证助手作为 Sudo 时出错

如何使用 gcc 编译为程序集

如何使用完整路径或文件名显示 grep 结果

来自远程主机的 mysqldump

如何测试是否存在两个文件?

如何告诉 CMake 将构建文件放在哪里?

execv() 和 fork() 的时间浪费

错误:ld.so:无法预加载对象 LD_PRELOAD:忽略

如何使用 bash 在文件中间添加一行文本?

后缀 - status=bounced(未知用户myuser)

Ionic android 构建错误 - 找不到ANDROID_HOME环境变量