Mi chiedevo se c'è un modo per scoprire la shell predefinita dell'utente corrente all'interno di uno script di shell?
Caso d'uso: sto lavorando a uno script che imposta un alias per un comando e questo alias è impostato in uno script shell.
!# /bin/bash
alias = 'some command to set the alias'
C'è una logica nello script in cui tenta di trovare la shell predefinita dell'utente che esegue lo script e aggiunge questo alias nel rispettivo file ~ / .bashrc o ~ / .zshrc
Ma mentre sto aggiungendo uno shebang nella parte anteriore dello script e chiedendo esplicitamente di usare bash, le risposte pubblicate qui restituiscono sempre bash come previsto, anche se sto eseguendo questo script su un terminale ZSH.
C'è un modo per ottenere il tipo di shell in cui viene eseguito lo script indipendentemente dal set di shebang?
Sto cercando una soluzione che funzioni sia su Mac che su tutti i bistro basati su Linux.
/etc/passwdha su OSX? Ho dato una rapida occhiata online e sembra che la shell sia lì, non solo il nome utente. L'ID utente è ancora lì, perché non lo usi?