首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >".bashrc“中"zsh”与“源zsh”的区别

".bashrc“中"zsh”与“源zsh”的区别
EN

Stack Overflow用户
提问于 2022-07-25 00:15:28
回答 1查看 126关注 0票数 0

亚马逊建议zsh添加到.bashrc中,以更改AWS CloudShell的默认外壳,因为chsh不知何故不起作用。正如我正确理解的那样,zsh在子进程中运行。我想知道是否可以将source zsh添加到.bashrc中,因为我希望减少一个作为极简主义者的过程。

EN

回答 1

Stack Overflow用户

发布于 2022-07-25 06:15:18

我认为您的意思是exec zsh,而不是source zsh,因为source将文件作为一组bash语句处理,因此不能与二进制文件一起使用。

您可以这样做,但建议您谨慎行事:

假设您已经以这种方式建立了一个交互式zsh,您可以在其中工作,并且在工作期间,您想要创建一个交互式bash子subshell (可能用于处理一些bash命令)。如果您的.bashrc中有一个普通的.bashrc,那么对bash的调用将再次导致zsh,而不是您想要的。

为了避免这种情况,您可以在.bashrc中使用一个警卫,如下所示:

代码语言:javascript
复制
if [[ -z ${bash_zsh_guard:-} ]]
then
  export bash_zsh_guard=NO
  exec zsh
fi

在您的“顶级”aws bash中,这将用zsh替换bash进程,但是在任何子bash进程中,您都将坚持bash。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73102970

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档