Ich habe das folgende Snippet in diesem Thread gesehen: Wie man von csh zu bash als Standard-Shell wechselt
sleep 2
if (-x /usr/local/bin/bash) then
exec /bin/sh -c '. ~/.profile; exec /usr/local/bin/bash'
endif
Mein Verständnis ist, dass wenn Sie dieses Snippet darin platzieren, ~/.logines bashbeim Anmelden aufgerufen wird.
Ich habe eine ähnliche Situation, in der ich ein ähnliches Snippet verwenden möchte, um eine Version aufzurufen zsh, die sich von der Standardversion unterscheidet, mit der ich mich anmelde. Ein Grund, warum ich dieses Problem habe, ist, dass ich mich nicht entscheiden kann meine gewünschte Version von zshin den Optionen erlaubt chsh, und ich habe keine Administratorrechte.
Mit diesem:
- Wie würde ich das obige Snippet ändern, um dies zu tun, wenn ich zwischen verschiedenen Versionen von zsh wechsle?
- Warum werden
execim obigen Snippet zwei Befehle benötigt? Was machen Sie? Warum wird das obige Snippet verwendetshundbash(der Benutzer soll sich mit anmeldencsh)
.zprofile:if [[ $ZSH_VERSION != 4.3.14 ]]; then exec /n/sw/zsh-4.3.14/bin/zsh --login fiund das scheint zu funktionieren!