J'écris une application basée sur un terminal, mais je veux que l'utilisateur puisse éditer certaines données de texte dans un éditeur séparé. Par exemple, si l'utilisateur choisit de modifier la liste des noms d'utilisateur actuels, la liste devrait s'ouvrir sous la forme d'un fichier texte dans l'éditeur favori de l'utilisateur (vim, gedit, etc.). Ce sera probablement une variable d'environnement telle que $ MYAPPEDITOR. Ceci est similaire à la façon dont les messages de commit fonctionnent dans svn.Comment autoriser un utilisateur à modifier des données dans une application distincte du terminal?
La meilleure façon de procéder est de créer un fichier temporaire dans/tmp et de le lire lorsque le processus d'édition est terminé? Ou y a-t-il une meilleure façon d'aborder ce problème?
Il y a aussi $ VISUAL - qui devrait être préféré à $ EDITOR (qui peut être réglé sur 'ed' au lieu de 'vim'). L'Art de la programmation Unix de Raymond (http://www.catb.org/~esr/writings/taoup) en parle; POSIX les mentionne (http://www.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap08.html - également http://www.opengroup.org/onlinepubs/9699919799/utilities/mailx.html, http: // www .opengroup.org/onlinepubs/9699919799/utilities/more.html, http://www.opengroup.org/onlinepubs/9699919799/utilities/crontab.html). À mon avis, ceux-ci ne sont pas entièrement cohérents (ou, du moins, les défauts ne le sont pas). –