我已将 abc.sh 添加到 /etc/profile.d 当我启动新的 XTerm 时,abc.sh 中的环境变量未在新的 XTerm 中设置。如果我在现有的 XTerm 中执行 su - 操作,则此操作正常。
答案1
我相信 xterm 默认不运行登录 shell。如果您想读取配置文件脚本,请尝试使用“xterm -ls”
来自 xterm 手册页
-ls
This option indicates that the shell that is started in the xterm
window will be a login shell (i.e., the first character of argv[0]
will be a dash, indicating to the shell that it should read the
user's .login or .profile).
来自 bash 手册页
When invoked as an interactive login shell, or a non-interactive
shell with the --login option, it first attempts to read and
execute commands from /etc/profile and ~/.profile, in that order.
答案2
检查一下/etc/profile
— 这是应该加载的脚本/etc/profile.d/*.sh
。可能只在某些情况下加载这些脚本,例如非登录 shell。