Me preguntaba si hay una manera de averiguar el shell predeterminado del usuario actual dentro de un script de shell.
Caso de uso: estoy trabajando en un script que establece un alias para un comando y este alias se configura dentro de un script de shell.
!# /bin/bash
alias = 'some command to set the alias'
Hay una lógica en el script donde intenta encontrar el shell predeterminado del usuario que ejecuta el script y agrega este alias en el archivo ~ / .bashrc o ~ / .zshrc respectivo
Pero a medida que agrego un shebang al frente del script y le pido explícitamente que use bash, las respuestas publicadas aquí siempre devuelven bash como se esperaba, aunque estoy ejecutando este script en un terminal ZSH.
¿Hay alguna manera de obtener el tipo de shell donde se ejecuta el script, independientemente del conjunto shebang?
Estoy buscando una solución que funcione tanto en Mac como en todos los bistros basados en Linux.
/etc/passwd
tiene en OSX? Eché un vistazo rápido en línea y parece que el shell está allí, pero no el nombre de usuario. Sin embargo, la ID de usuario sigue ahí, ¿por qué no la usas?