/etc/environment 导出路径

DD.*_*DD. 3 linux centos

我有以下/etc/environment:

export PATH=$PATH
Run Code Online (Sandbox Code Playgroud)

每当我登录时,我都会收到以下错误:

-bash: id: command not found
-bash: tty: command not found
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

(我的实际 /etc/enviroment 更复杂,并将 java 设置到路径上,但为简单起见,我什至无法使上述工作)

我正在使用 Centos6

kub*_*zyk 7

你误解了/etc/environment语法。它不会被解释为一系列 shell 命令,因此它根本不是一个.sh文件。该/etc/environment壳时还不存在被加载,当它仍然没有决定是否会有bashcsh或其他。甚至可能有一个定制来运行一些特定的程序而不是 shell。因此/etc/environment有一个非常基本的语法。

正如在这个 Unix/Linux StackExchange answer 上看到的:

您只能放置静态环境变量定义,格式为 VARIABLE=VALUE 或 VARIABLE="VALUE",每行一个定义。你不能有任意的 shell 命令,你不能通过写 FOO=hello+$BAR 来引用另一个变量的值

在您的情况下,您不应该使用exportshell 命令。