sh 读取不到/etc/profile的环境变量

当在 sh shell 中运行脚本时,它不会自动加载 /etc/profile 文件中的环境变量。这是因为在 sh shell 中,它不会像 Bash 一样自动加载 /etc/profile 文件。

要在 sh shell 中加载 /etc/profile 文件中的环境变量,您需要在脚本中手动加载该文件。您可以在脚本的开头添加以下代码:

. /etc/profile

这会在当前 shell 中加载 /etc/profile 文件,并将其中定义的环境变量添加到当前 shell 的环境中。接下来,您可以在脚本中使用这些环境变量。

另外,如果您需要在每次启动 sh shell 时都自动加载 /etc/profile 文件中的环境变量,您可以将以下行添加到 /etc/profile 文件的末尾:

test -f /etc/profile.d/*.sh && run-parts /etc/profile.d

这会自动加载 /etc/profile.d 目录中所有扩展名为 .sh 的脚本文件。这些文件通常用于设置特定应用程序的环境变量和其他配置,可以在系统上共享和重复使用。

 

posted @ 2024-04-03 08:57  CharyGao  阅读(129)  评论(0编辑  收藏  举报