J'édite mon invite PS1 et je ne veux pas continuer à sourcer mon bashrc pour le mettre à jour (car mon bashrc réinitialise aussi d'autres choses). Je ne veux pas non plus le copier et le coller encore et encore. Existe-t-il un moyen de modifier la variable de manière interactive, comme en utilisant nano
(mon éditeur par défaut)?
La PS1 est surtout un exemple, car je veux faire la même chose avec d'autres vars. La raison pour laquelle je veux le faire de manière interactive est que la variable est déjà assez longue, et je dois juste y éditer quelques caractères. Et je n'ai besoin que de le changer dans le shell actuel.
la source
PS1='$PS1'
, cela a supprimé les guillemets, mais la frappePS1=\'$PS1\'
fonctionne parfaitement.bind -p
, j'ai également découvert que vous pouvez étendre des globes, des tildes et des lignes d'histoire. Soigné!Au lieu de sourcer le bashrc, sourcez un autre fichier, qui contient juste la variable.
Créez-le:
Remarque: Si la variable contient des guillemets simples, vous devrez utiliser une commande qui peut les échapper, par exemple:
Ouvrez-le dans un éditeur, par exemple
nano /tmp/PS1
.nano
encore et encore, vous pouvez l'exécuter dans un autre terminal / TTY, ou utiliser un éditeur graphique.Apportez vos modifications et enregistrez.
Source:
Répétez les étapes 3 et 4 si nécessaire.
la source
Zsh a un intégré appelé
vared
qui vous permet de modifier une variable en ligne. J'ai écrit ma propre version, initialement publiée sur Super User :Notez que cela présente quelques différences subtiles par rapport au module intégré Zsh, par exemple:
vared $
)Ensuite, pour éditer la PS1, lancez-le
vared PS1
.la source