CentOS 6.6中根用户未显示类路径变量
我正在VmWare Player上运行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 输出 . 因此,我无法执行这些任务。我可能做错了什么。谢谢你的帮助 仅
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.