12
votes

Démarrez Bash Process avec une invite modifiée PS1

Comment démarrer une sous-processus Bash avec une invite modifiée. L'utilisation d'ENV ne fonctionne pas:

$ export PS1="change >"
change >


1 commentaires

Je vote pour fermer cette question comme hors-sujet car il ne s'agit pas de la programmation selon les nouvelles règles sur le sujet, il appartient donc à UNIX et à Linux SE.


3 Réponses :


6
votes

Le comportement est normal: avec - connexion , bash lira vos fichiers d'initialisation et ces redéfinies ps1 .

Vous pouvez essayer: < PRE> XXX

Ceci fonctionne pour moi: xxx

mais cela ne fonctionne que car .bashrc ne protège aucun fichier qui redéfinit PS1 < / em>.


2 commentaires

Aurait dû ajouter que à la fineprint. Je dois courir .Casherrc.


Pouvez-vous le coller? Si elle sourit des fichiers qui redéfinissent PS1, vous êtes à peu près condamné ...



4
votes

Essayez bash -rcfile <(echo "exportation ps1 =" quelque chose> ") . Cela utilise la substitution de processus pour créer un "fichier" qui contient le paramètre PS1 et donne à Bash. Votre shell actuel devrait supporter ce type de substitution (Bash et ZSH).


1 commentaires

Merci. C'était le billet pour moi. J'ai un tas de choses dans .CASHRC, .profile et d'autres scripts qui ont interféré.



14
votes

Une autre solution serait la suivante:

bash --rcfile <(cat ~/.bashrc; echo 'PS1="change > "')


0 commentaires