Ouverture éditeur de texte par défaut de bash?
J'ai écrit un script shell et a couru dans un problème. Est-il possible d'ouvrir un fichier à l'aide de l'utilisateur spécifié éditeur de texte?
- Attention: certains utilisateurs l'EDITEUR de jeu à un programme qui daemonizes lui-même, et votre script ne sera pas en mesure de facilement attendre pour eux à la fin.
- Pourquoi serait-on faire une telle chose? Pourriez-vous me donner un scénario où c'est approprié?
- Je dirais qu'il n'est jamais approprié, mais certaines personnes à faire des choses folles. Il n'est pas rare pour quelqu'un de vouloir un éditeur de gui qui engendre une nouvelle fenêtre.
Vous devez vous connecter pour publier un commentaire.
Retenus par l'utilisateur de l'éditeur doit être en
$EDITOR
, mais vous devez toujours choisir un sain d'esprit par défaut.${FCEDIT:-${VISUAL:-${EDITOR:-vi}}}
? En donnant la préférence VISUELLE sur$EDITOR
contenanted
semble être une bonne idée.$FCEDIT
était l'env de la var pourksh
(probablement l'est toujours), où lafc
de commande est utilisé pour accéder à l'histoire; elle est également reconnue parbash
.DEFAULTEDITOR="`command -v nano >/dev/null 2>&1 && echo 'nano' || echo 'vi'`" && echo "${FCEDIT:-${VISUAL:-${EDITOR:-$DEFAULTEDITOR}}}" && "${FCEDIT:-${VISUAL:-${EDITOR:-$DEFAULTEDITOR}}}" file.txt
Ignacio droit (mais sans doute, le repli devrait être
ed
, qui POSIX impose d'être présent, mais il est essentiellement utile pour les vieux de la vieille).Si vous songez à des éditeurs graphiques,
xdg-open file.txt
est ce que vous êtes après.vi
trop, n'est-ce pas? Ou est-ce juste de l'Utilisateur de la Portabilité des Utilitaires option POSIX oùed
ne l'est pas. Mais +1 pour la mention deed
.POSIX2_UPE
(ancien nom de la fonction a été de l'Utilisateur de la Portabilité de l'Extension de l'EPU) en POSIX 2008, il y a une liste de fonctionnalités qui sont dans l'UPU: 'La liste des services publics à l'Utilisateur la Portabilité des Utilitaires option est comme suit:bg
,ex
,fc
,fg
,jobs
,more
,talk
,vi
. Donc, en théorie, si vous avez lefc
de commande, vous devez également avoirvi
disponibles.remarque:
xdg-open file.xml
l'ouvrir dans un Navigateur Web, le plus probable.Donc, essayez d';