私はこのスレッドで次のスニペットを見ました:デフォルトのシェルとしてcshからbashに変更する方法
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上記のスニペットに2つのコマンドが必要なのはなぜですか?彼らは何をしますか?また、なぜ使用上のスニペットはありませんshし、bash(ユーザーが持つログインになっていますcsh)
.zprofile:に次のように書きました、if [[ $ZSH_VERSION != 4.3.14 ]]; then exec /n/sw/zsh-4.3.14/bin/zsh --login fiそしてそれはうまくいくようです!