Saya melihat cuplikan berikut di utas ini: Cara mengubah dari csh ke bash sebagai shell default
sleep 2
if (-x /usr/local/bin/bash) then
exec /bin/sh -c '. ~/.profile; exec /usr/local/bin/bash'
endif
Pemahaman saya adalah bahwa jika Anda menempatkan potongan ini di ~/.logindalamnya akan meminta bashketika Anda masuk.
Saya memiliki situasi yang serupa di mana saya ingin menggunakan cuplikan serupa untuk meminta versi zshyang berbeda dari yang standar dengan mana saya masuk. Salah satu alasan mengapa saya mengalami masalah ini adalah karena saya tidak dapat memilih versi yang saya inginkan zshdalam opsi diizinkan masuk chsh, dan saya tidak memiliki hak administrator.
Dengan ini:
- Bagaimana saya mengubah cuplikan di atas untuk melakukan ini ketika beralih di antara berbagai versi zsh?
- Mengapa dua
execperintah diperlukan dalam cuplikan di atas? Apa yang mereka lakukan? Juga, mengapa cuplikan di atas menggunakanshdanbash(pengguna seharusnya masuk dengancsh)
.zprofile:if [[ $ZSH_VERSION != 4.3.14 ]]; then exec /n/sw/zsh-4.3.14/bin/zsh --login fidan itu tampaknya berhasil!