Substitutions de commandes entre guillemets doubles " être étendu immédiatement. Ce n'est pas ce que vous voulez pour votre invite. Guillemets simples ' conservera les substitutions dans $PS1 qui ne sont ensuite développés que lors de l'affichage de l'invite. Cela devrait donc fonctionner :
export PS1='$(whoami)@$(hostname):$(pwd)'
Si vous voulez le signe dollar habituel et un espace à la fin de votre invite, ajoutez simplement $ à la fin (pas d'échappement nécessaire) :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>
Cette commande fonctionne pour moi.
export PS1="\example@unixlinux.online\h: \W:$"
Où
\u =nom d'utilisateur
\h =nom d'hôte
\W Nom du dossier actuel (pas le chemin complet)