[problem help] /etc/profiles和zsh不兼容
Tofloor
poster avatar
tfusr
deepin
2024-09-06 16:02
Author

v23正式版本后,在/etc/profiles下配置java,或者其他软件的环境变量,重启机器后,出现所有软件都不能打开(如双击我的电脑,没反应)。本机是有安装zsh的,看了profiles文件开头的注解,好像是不支持zsh。。。。

Reply Favorite View the author
All Replies
安洛
deepin
2024-09-06 16:22
#1

我猜是配置PATH的时候把原来的而PATH给覆盖了。把你用来配置环境变量的代码发上来看看?

Reply View the author
raspbian
deepin
2024-09-06 16:37
#2

盲猜你写了循环引用

没有百分之百确认自己写的对就别乱动/etc/profile

不知道都哪学的坏习惯

Reply View the author
deepinuser17
deepin
2024-09-06 23:01
#3

单个用户的zsh环境和变量用~/.zshrc或~/.zshenv 设置。

https://apple.stackexchange.com/questions/388622/zsh-zprofile-zshrc-zlogin-what-goes-where

Reply View the author
tfusr
deepin
2024-09-11 14:33
#4
raspbian

盲猜你写了循环引用

没有百分之百确认自己写的对就别乱动/etc/profile

不知道都哪学的坏习惯

对于没常识,真无语。。。 环境变量都是在这里配置,其他linux都没问题,只有v23能挂了,只能说团队真差劲(v20还是好好的)

Reply View the author
raspbian
deepin
2024-09-11 14:53
#5
tfusr

对于没常识,真无语。。。 环境变量都是在这里配置,其他linux都没问题,只有v23能挂了,只能说团队真差劲(v20还是好好的)

我身边还没真有人随便往/etc/profile里乱写东西的

就算是有正当理由也是/etc/profile/d

再说又不是macintosh系统

非用zsh不可吗

Reply View the author
raspbian
deepin
2024-09-11 21:08
#6

帮你复现了一下

tty登录调用 ~/.zprofile

gui登录调用 ~/.zshrc

两者都不去调用 /etc/profile

其他linux都没问题 那是你的幻觉 你可能从来没使用过zsh 但你一直觉得你用的就是

当使用 Zsh 作为默认 shell 时,它不会读取 /etc/profile 文件。这是因为 /etc/profile 是为 Bourne 兼容的 shell(如 Bash)设计的,而 Zsh 有自己的一套配置文件。

Zsh 的配置文件

Zsh 主要使用以下配置文件:

  1. ~/.zshrc: 这是 Zsh 的主要配置文件,通常用于设置环境变量、别名、函数等。每次启动一个新的 Zsh 会话时,都会读取这个文件。
  2. ~/.zprofile: 这个文件在 Zsh 启动时读取,类似于 Bash 的 ~/.profile。它通常用于设置环境变量。
  3. ~/.zlogin: 这个文件在 Zsh 登录时读取,通常用于执行登录时需要的命令。
  4. /etc/zshenv: 这个文件在每次启动 Zsh 时都会读取,适用于所有用户。
  5. /etc/zprofile: 这个文件在 Zsh 登录时读取,适用于所有用户。

总结

因此,如果您在使用 Zsh 时发现 /etc/profile 没有被调用,这是正常现象。您可以在 ~/.zshrc~/.zprofile 中添加您需要的配置,以确保它们在 Zsh 会话中生效。如果您需要在 Zsh 中设置环境变量或其他配置,请将它们放在这些文件中。

Reply View the author