是否有任何超过四个字符的UNIX环境变量?

时间:2011-02-01 22:06:50

标签: unix

我知道有$ USER,$ HOME,$ PATH等等。

8 个答案:

答案 0 :(得分:8)

有很多:DBUS_SESSION_BUS_ADDRESS,XAUTHORITY,GDM_LANG等。您可以使用env命令查看所有环境变量 - 在终端内输入。

据我所知,环境变量没有任何限制,它们可以是任意长度,任何东西都可以创建它们并将它们添加到环境中(使用export,如您所见)。从概念上讲,环境变量充当“全局变量”,在终端中运行的所有程序之间共享。

答案 1 :(得分:7)

呃...很多?

$ env | cut -d = -f 1 | sort | uniq 
_
COLORFGBG
DBUS_SESSION_BUS_ADDRESS
DESKTOP_SESSION
DISPLAY
DM_CONTROL
EDITOR
GPG_AGENT_INFO
GS_LIB
GTK2_RC_FILES
GTK_RC_FILES
HISTCONTROL
HOME
KDE_FULL_SESSION
KDE_MULTIHEAD
KDE_SESSION_UID
KDE_SESSION_VERSION
KONSOLE_DBUS_SERVICE
KONSOLE_DBUS_SESSION
LANG
LANGUAGE
LESSCLOSE
LESSOPEN
LIBGL_DRIVERS_PATH
LOGNAME
LS_COLORS
OLDPWD
PATH
PROFILEHOME
PWD
QT_PLUGIN_PATH
SESSION_MANAGER
SHELL
SHLVL
SSH_AGENT_PID
SSH_AUTH_SOCK
TERM
USER
WINDOWID
WINDOWPATH
XCURSOR_THEME
XDG_DATA_DIRS
XDG_SESSION_COOKIE
XDM_MANAGED

答案 2 :(得分:3)

是的,$SHELL是我所知道的其中之一。

修改:请参阅this page了解更多内容。

答案 3 :(得分:1)

$DISPLAY$LD_LIBRARY_PATH

答案 4 :(得分:1)

每个系统的配置都不同,所以不要在这里列出所有系统,只需输入以下命令将它们全部列在您自己的系统上:

set | sed 's/=.*//' | grep -v "^[A-Z_]\{4\}$"

我使用set代替env,因为它有更大的范围。大多数系统环境变量都是大写的,因此添加该限制会为管道添加额外的grep。

set | sed 's/=.*//' | grep "[A-Z_]" | grep -v "^[A-Z_]\{4\}$"

答案 5 :(得分:1)

env | cut -d = -f 1 | grep -E“([A-Z _] {4,})”

使用此命令

答案 6 :(得分:0)

$LD_LIBRARY_PATH$LD_PRELOAD都存在用于链接。

答案 7 :(得分:0)

用户定义的环境变量长度不得超过四个字符(例如CLASSPATH)