Sostituzioni di comando tra virgolette " espandersi immediatamente. Non è quello che vuoi per il tuo prompt. Virgolette singole ' conserverà le sostituzioni in $PS1 che poi vengono espansi solo quando viene visualizzato il prompt. Quindi questo dovrebbe funzionare:
export PS1='$(whoami)@$(hostname):$(pwd)'
Se vuoi il solito simbolo del dollaro e uno spazio alla fine del tuo prompt, aggiungi semplicemente $ alla fine (non è necessario eseguire l'escape):export PS1='$(whoami)@$(hostname):$(pwd)$ '
sh-4.2$ export PS1="\example@unixlinux.online\h:\w>"
example@unixlinux.online:~>cd /usr/local
example@unixlinux.online:/usr/local>
Questo comando funziona per me.
export PS1="\example@unixlinux.online\h: \W:$"
Dove
\u =nome utente
\h =nome host
\W Nome della cartella attuale (non percorso completo)