我在该线程中看到了以下代码片段:如何将csh更改为bash作为默认shell
sleep 2
if (-x /usr/local/bin/bash) then
exec /bin/sh -c '. ~/.profile; exec /usr/local/bin/bash'
endif
我的理解是,如果您将此代码段放入~/.login其中,则bash在您登录时会调用它。
我遇到类似的情况,我想使用类似的代码段来调用zsh与我登录时所使用的默认代码段不同的代码段。遇到这种麻烦的部分原因是因为我无法选择zsh在中允许的选项中我想要的版本chsh,并且我没有管理员权限。
有了这个:
- 在不同版本的zsh之间切换时,如何更改上面的代码段来执行此操作?
- 为什么
exec上面的代码片段需要两个命令?他们在做什么?另外,为什么上述代码段使用sh和bash(用户应该使用登录csh)
.zprofile:上写了以下内容if [[ $ZSH_VERSION != 4.3.14 ]]; then exec /n/sw/zsh-4.3.14/bin/zsh --login fi,这似乎可行!