小编nig*_*arc的帖子

使用 ZSH 作为默认 shell SSH 进入系统不会运行 /etc/profile

我在我们的一些机器 atm 上遇到了奇怪的行为。至少,这对我和我的同事来说似乎很奇怪,我们没有找到任何解释:)

[编辑 1]
下一段似乎是错误的。请参阅最后的编辑 2。
我们在这里使用 bash 和 zsh。因此,当通过 SSH 连接到某些ssh login@host配置为使用 zsh 作为默认 shell(带有chsh -s /usr/bin/zsh)的 zsh-default-machines(plain )时,然后打开的 shell 是一个交互式但非登录的shell,无论我们是否已经登录是否在相应的机器上。

根据我的理解,通过 SSH 连接到一台机器应该是在该机器上启动一个新的用户会话,因此要求 shell 是一个登录 shell,对吗?zsh 不应该也是这种情况吗?

在机器上将默认 shell 更改为 bash 时,登录机器使用 login-shell。

这是 zsh 的正常行为吗?能不能改?或者是一些配置错误?
[/编辑 1]

[编辑 2] 好的,根据 ZSH 文档,您可以轻松测试它是否是登录 shell:

$ if [[ -o login ]]; then; print yes; else; print no; fi
Run Code Online (Sandbox Code Playgroud)

见:http: //zsh.sourceforge.net/Guide/zshguide02.html

但是,由于 zsh man 条目/文档, zsh 应该 source /etc/profile,而后者又在/etc/profile.d/*.sh. 我上面的问题源于这样一个事实,即脚本 …

shell login zsh profile dot-files

6
推荐指数
2
解决办法
3439
查看次数

标签 统计

dot-files ×1

login ×1

profile ×1

shell ×1

zsh ×1