Terminal.app memiliki pengaturan untuk memilih dengan shell yang digunakannya, dan pengaturan default adalah "Shell login default (/ usr / bin / login)".
Apa perbedaan antara / usr / bin / login dan / usr / bin / bash?
Terminal.app memiliki pengaturan untuk memilih dengan shell yang digunakannya, dan pengaturan default adalah "Shell login default (/ usr / bin / login)".
Apa perbedaan antara / usr / bin / login dan / usr / bin / bash?
Jawaban:
Griffo benar. Sekarang dalam skenario Anda, perbedaannya adalah sebagai berikut:
/bin/login, maka program ini akan memeriksa dalam database pengguna apa shell default Anda dan menjalankan shell itu sebagai shell login, dengan demikian memanggil file rc yang dijalankan hanya ketika shell dijalankan sebagai shell login (dalam kasus bash mereka adalah /etc/profile, ~/.bash_profile, ~/.bash_login and , dan ~/.profile./bin/bash, shell itu akan dieksekusi sebagai shell login, terlepas dari shell apa yang diatur dalam database pengguna. Ini bisa berguna ketika shell di database pengguna tidak berfungsi dengan baik, atau Anda ingin dapat menggunakan shell yang berbeda.Sesuai komentar oleh Chris Page , shell dijalankan sebagai shell login dalam kedua kasus.
Jika Anda belum mengubah shell login Anda dari default, yaitu /bin/bash, dan Anda belum mengubah file rc shell ini, maka perbedaannya tidak akan terlihat.
/usr/bin/emacsitu akan dipanggil sebagai proses login. (Nama proses diawali dengan -.) Saya baru saja mencoba ini dengan baik versi Leopard dan Lion Terminal.
/usr/bin/loginadalah program yang digunakan untuk masuk ke sistem dan bukan sesuatu yang Anda panggil secara manual dalam keadaan normal. Lihatlah info / halaman manual dengan mengeluarkan salah satu dari perintah berikut:
info login atau man login
/usr/bin/bashadalah shell dan tugasnya adalah menginterpretasikan input dari pengguna dan menjalankan program. Anda juga dapat melihat lebih banyak info tentang bash dengan menggunakan perintah di bawah ini:
info bash atau man bash
/usr/bin/loginuntuk membuat sesi terminal. Preferensi hanya mengontrol apakah ia memberitahuloginuntuk menggunakan shell default Anda atau perintah kustom. Jika Anda melihat jendela Inspektur untuk terminal aktif Anda akan melihat daftar Proses Menjalankan selalu dimulai denganlogindiikuti oleh shell default atau perintah kustom.