it-swarm-id.com

Bagaimana cara saya beralih dari Shell yang tidak dikenal ke bash?

Saya terkejut bahwa saya belum menemukan pertanyaan ini di situs. Jadi, hari ini $ muncul setelah saya masuk sebagai pengguna baru. Ini tidak terduga karena Prompt pengguna utama saya dimulai dengan [email protected]:~$.

Jadi, bagaimana cara saya beralih dari Shell lain ke bash?

41
mouche

Dengan asumsi Shell yang tidak dikenal mendukung menjalankan perintah absolut, Anda dapat mencoba: /bin/bash

Untuk mengubah Shell default, saya akan menggunakan chsh(1). Contoh penggunaan: chsh -s /bin/bash $USER

62
Kevin M

Anda mengetikkan bash. Jika Anda ingin ini menjadi permanen, ubah Shell default ke /bin/bash Dengan mengedit /etc/passwd.

Ini beberapa cuplikan dari /etc/passwd Saya:

avahi:x:84:84:Avahi daemon:/:/bin/false
xenoterracide:x:1000:100::/home/xenoterracide:/bin/zsh
postgres:x:88:88::/var/lib/postgres:/bin/zsh
bob:x:1001:1001::/home/bob:/bin/bash
usbmux:x:140:140:usbmux user:/:/sbin/nologin

Bidang terakhir berisi Shell, Memodifikasi bidang setelah : Terakhir ke Shell yang valid atau tidak valid akan berfungsi. /bin/false Dan /sbin/nologin Keduanya berarti pengguna tidak memiliki Shell login yang sebenarnya, meskipun jika pam tidak diatur dengan benar ini tidak berarti mereka tidak bisa login (saya melaporkan bug pada ini di Arch Linux, karena Anda dapat login secara grafis tanpa harus login Shell). /bin/bash Dan /bin/zsh Keduanya adalah shell yang valid, lihat /etc/shells Untuk daftar shell yang valid pada sistem Anda. Inilah /etc/shells Saya jika Anda tertarik.

/bin/sh
/bin/bash
/bin/ksh
/bin/zsh
/bin/dash

Ya, Anda dapat menggunakan chsh atau usermod untuk melakukan hal yang sama, harap diingat ini hanya file teks terstruktur, dan TIMTOWTDI.

20
xenoterracide

Jika chsh atau mengedit konfigurasi secara manual tidak akan berfungsi, tetapi skrip ~/.profile dijalankan saat login, tambahkan baris ini:

exec /bin/bash --login
12
Kevin Cantu