Saya bertanya-tanya apakah ada cara untuk mengetahui shell default dari pengguna saat ini dalam skrip shell?
Use case: Saya sedang mengerjakan skrip yang menetapkan alias untuk suatu perintah dan alias ini diatur dalam skrip shell.
!# /bin/bash
alias = 'some command to set the alias'
Ada logika di skrip tempat skrip mencoba menemukan shell default dari pengguna yang mengeksekusi skrip dan menambahkan alias ini di masing-masing file ~ / .bashrc atau ~ / .zshrc
Tetapi ketika saya menambahkan shebang di bagian depan skrip dan secara eksplisit memintanya untuk menggunakan bash, jawaban yang diposting di sini selalu mengembalikan bash seperti yang diharapkan walaupun saya mengeksekusi skrip ini pada terminal ZSH.
Apakah ada cara untuk mendapatkan tipe shell di mana skrip dieksekusi terlepas dari set shebang?
Saya mencari solusi yang berfungsi pada Mac dan semua bistro berbasis linux.
/etc/passwd
ada di OSX? Saya sempat melihat-lihat online dan tampaknya shell ada di sana, hanya saja bukan nama pengguna. Namun, ID pengguna masih ada, mengapa Anda tidak menggunakannya?