CentOS 6.6中根用户未显示类路径变量

CentOS 6.6中根用户未显示类路径变量,centos,centos6,Centos,Centos6,我正在VmWare Player上运行CentOS 6.6。我添加了路径 export CLASSPATH=$CLASSPATH:<path/to/jars> 它按预期显示类路径。但是,我需要以root用户身份运行一些任务。因此,在运行以下命令时,输出不是预期的 gvanjoic@localhost: su Password: root@localhost gvanjoic$ echo $CLASSPATH 输出 . 因此,我无法执行这些任务。我可能做错了什么。谢谢你的帮助 仅

我正在VmWare Player上运行CentOS 6.6。我添加了路径

export CLASSPATH=$CLASSPATH:<path/to/jars>
它按预期显示类路径。但是,我需要以root用户身份运行一些任务。因此,在运行以下命令时,输出不是预期的

gvanjoic@localhost: su
Password:
root@localhost gvanjoic$ echo $CLASSPATH
输出

.
因此,我无法执行这些任务。我可能做错了什么。谢谢你的帮助


仅供参考,gvanjoic不在sudoers列表中。

您的主文件夹中的
.bashrc
仅为您的用户执行

因此,当以root身份登录时,它不会被执行,root会得到一个“干净”的shell。如果这些行对整个系统有效,而不仅仅对您的用户有效,您可能需要将它们放入
/etc/profile

也可以尝试使用“su-”,因为“-”表示当您更改用户时,.bashrc应该导出

从“满苏”


谢谢你能告诉我在/etc/profile中应该把这些行放在哪里吗。我试图将EXPORT-CLASSPATH=$CLASSPATH:也放在/etc/profile中,但它给了我错误,说“非法字符=”。这不是在哪里的问题,而是语法的问题。删除
=
.Ohh之前的空格。除了@Marcus Müller所说的之外,试着做
su-
而不仅仅是
su
export
需要小写并在单独的一行上(因为
/etc/profile
是由破折号等执行的,所以不能使用Bash语法扩展)。也就是说,等号两边都没有空格,可以单独导出<代码>类路径=$CLASSPATH:;导出类路径我相信,这个问题有待解决
.
   -, -l, --login
       Provide an environment similar to what the user would expect had the user logged in directly.

       When - is used, it must be specified as the last su option. The other forms (-l and --login) do not have this
       restriction.