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
的脚本文件。这些文件通常用于设置特定应用程序的环境变量和其他配置,可以在系统上共享和重复使用。
摘抄自网络,便于检索查找。