Bagaimana saya bisa mengganti shell di Ubuntu? [duplikat]

87

Pertanyaan ini sudah ada jawabannya di sini:

Saya memiliki VPS Server Ubuntu dan saya ingin menggunakan /bin/bash/sebagai shell saya. Bagaimana saya bisa mengganti shell saya? Saya memiliki akses root tetapi saya tidak bekerja sebagai root. Jadi dash adalah shell default saya sekarang.

Saya telah membaca Bagaimana cara membuat Bash shell default saya di Ubuntu? dan chshjahitan menjadi cara yang dipilih untuk pergi. Tetapi ketika saya mengetik chsh /bin/bashsaya mendapatkan pesan ini: chsh: unknown user /bin/bash

Dan jika saya cukup ketik /bin/bashlapisan Bash shell untuk bekerja dengan baik. Bagaimana cara mengubahnya?

Jonas
sumber

Jawaban:

84

Untuk mengganti shell, gunakan chshperintah bare . Ini akan meminta Anda untuk shell baru. Anda tidak harus menjalankan apa pun sebagai root.

Teddy
sumber
Ah, itu lebih baik!
Jonas
8
jangan lupa untuk keluar dan masuk kembali untuk melihat perubahannya.
driftcatcher
26
Tidak berfungsi sebagai pengguna normal: $ chsh Anda tidak boleh mengganti shell untuk 'pengguna'.
Henning
1
Bekerja untukku. Sepertinya sistem Anda sengaja dikunci.
Michael Cole
1
Saya menggunakan ssh, tetapi chsh meminta saya untuk kata sandi yang saya tidak tahu. Adakah cara untuk mengatasi ini?
Qwerty
113

Saat dijalankan sebagai root, Anda dapat menggunakan chshuntuk mengganti shell pengguna lain. Sintaks yang ingin Anda gunakan ini. Anda dapat mengubah shell Anda sendiri tanpa hak root.

chsh -s /bin/bash username

Dentrasi
sumber
10
-1 chsh tidak perlu dijalankan sebagai root untuk mengganti shell Anda sendiri . Mengubah cangkang orang lain membutuhkan root.
Broam
2
Ini berhasil. Saya selalu mendapatkan pesan kesalahan "Anda tidak boleh mengganti shell untuk ...".
setzamora
2
Logout dan masuk kembali setelah mengamati perubahan
smac89
1
+1 Saya menemukan ini berfungsi, setelah mencoba chshperintah ketika masuk sebagai pengguna dan mendapatkan "Anda tidak dapat mengganti shell untuk ..."
therobyouknow
52

Anda dapat mengubah shell default untuk pengguna Anda dengan menggunakan perintah usermod.

sudo usermod -s <shell> <username>

ganti dengan nama shell yang ingin Anda gunakan (yaitu / bin / bash) dan dengan nama pengguna yang ingin Anda ubah.

Ini akan mengatur shell default untuk nama pengguna yang dipilih di file / etc / passwd.

txwikinger
sumber
8
Gunakan usermodjika Anda melihat "chsh Anda tidak dapat mengganti shell untuk ..."
Xeoncross
2
memilih, karena chsh memang tidak berhasil untuk saya. Terima kasih!
Mixaz
Penting untuk dicatat yang usermodmemerlukansudo
ARun32