连接 SSH 后,我从 bash 运行 zsh – 如何仅使用一个命令退出两者?

Mic*_*ega 5 ssh bash zsh

我在我的服务器上运行 zsh 并且我想为exit命令设置别名,因为每当我尝试终止我的 SSH 会话时,我必须zshbash.

我试过alias exit='exit;exit'无济于事。

我不想改变我的开始方式,zsh但我认为这不是一个很好的解决方案。我已经附加zsh/etc/profile.

如何避免键入exit两次以终止我的 SSH 会话?

Dan*_*eck 13

bash是您帐户在该系统上的默认登录 shell。要更改它,请按照@KevinPanko 的建议进行操作。然后bash不会启动,只有zsh。鉴于,通过/etc/profile,您总是从zsh此刻开始(而不仅仅是有时),这可能是最好的方法。


或者,您可以使用exec内置命令bash来替换您的bash进程。man bash状态:

exec ... [command [arguments]]

如果指定了命令,它将替换外壳。没有创建新进程。参数成为命令的参数。

所以你可以zsh像这样运行:

exec zsh
Run Code Online (Sandbox Code Playgroud)

之后,如果您 exit zsh,您将退出您正在运行的唯一 shell,并立即退出。


Kev*_*nko 5

chsh命令可让您更改帐户的登录 shell。

如果文件不存在,您可能需要添加/bin/zsh/etc/shells文件中。

  • 如果你连接的服务器使用 LDAP 或类似的,你必须使用 `ypchsh` 命令。 (2认同)