0 votes

`emacs` et `Emacs` lancent-ils la même application?

Je suis en train de chercher à comprendre comment le shell interprète emacs et Emacs, et où il trouve l'application.

Je peux lancer emacs en exécutant

bash
emacs &

ou

Emacs &

dans le terminal, et il me semble que c'est la même application (qui n'est pas l'emacs fourni avec le système d'exploitation, qui se trouve dans /usr/bin/emacs, mais un autre que j'ai installé, très probablement avec emacsformacosx bien que je ne sois pas sûr de la manière de vérifier cette information).

Mon PATH:

$ echo "$PATH"
/Users/antoine/.gem/ruby/2.6.0/bin:/usr/local/opt/ruby/bin:/anaconda3/condabin:/Users/antoine/.pyenv/shims:/Users/antoine/.local/bin:/Applications/Emacs.app/Contents/MacOS:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin

En exécutant

which emacs

retourne

/Applications/Emacs.app/Contents/MacOS/emacs

et

which emacs

retourne

/Applications/Emacs.app/Contents/MacOS/Emacs

Maintenant, si je regarde dans le dossier /Applications/Emacs.app/Contents/MacOS/, je ne vois que Emacs mais pas de emacs:

$ ls -1d /Applications/Emacs.app/Contents/MacOS/[eE]*
/Applications/Emacs.app/Contents/MacOS/Emacs
/Applications/Emacs.app/Contents/MacOS/Emacs-i386-10_5
/Applications/Emacs.app/Contents/MacOS/Emacs-x86_64-10_10
/Applications/Emacs.app/Contents/MacOS/Emacs-x86_64-10_5
/Applications/Emacs.app/Contents/MacOS/Emacs-x86_64-10_7
/Applications/Emacs.app/Contents/MacOS/Emacs-x86_64-10_9

Par contre, si j'utilise find, j'obtiens un résultat avec emacs, mais je ne comprends pas d'où il vient:

$ find /Applications/Emacs.app/Contents/MacOS/ emacs | grep emacs
/Applications/Emacs.app/Contents/MacOS//bin-x86_64-10_7/emacsclient
/Applications/Emacs.app/Contents/MacOS//bin-x86_64-10_9/emacsclient
/Applications/Emacs.app/Contents/MacOS//bin-i386-10_5/emacsclient
/Applications/Emacs.app/Contents/MacOS//bin-x86_64-10_5/emacsclient
/Applications/Emacs.app/Contents/MacOS//bin-x86_64-10_10/emacsclient
emacs

mais je ne vois pas ce dernier emacs dans le dossier, donc où devrais-je regarder?

(De plus, je ne comprends pas exactement ce que fait find, car il renvoie des sorties sans la chaîne "emacs", donc je les ai filtrées avec grep).

Une dernière remarque.
Auparavant, j'avais une faute de frappe dans mon PATH (que j'ai défini dans mon .profile): j'avais

/Applications/Emacs.app/Contents/MacOs

(notez le "s" en minuscule dans "MacOs" à la fin) au lieu de

/Applications/Emacs.app/Contents/MacOS

Mais je n'ai pas reçu d'erreur, et cela ne semblait pas faire de différence de corriger cette faute. En effet, même avec la faute, which emacs retournait joyeusement /Applications/Emacs.app/Contents/MacOs/emacs (avec la faute) et which Emacs retournait tout aussi joyeusement /Applications/Emacs.app/Contents/MacOs/Emacs (de nouveau avec la faute).

Cela suggère donc que emacs ou Emacs sont trouvés ailleurs.

7 votes

Sur MacOS, les noms de fichiers sont insensibles à la casse par défaut. Peut-être est-ce ce qui cause cela?

0 votes

Tu dois plaisanter... En effet, eMacs par exemple fonctionne également. Je me demande toujours à propos de emacs apparaissant dans le résultat de find, et l'autre mystère concernant la faute de frappe qui ne semble pas avoir d'impact.

2 votes

Où étiez-vous lorsque vous avez tapé cette commande find? Je pense que vous vouliez en fait quelque chose comme find /Applications/Emacs.app/Contents/MacOS/ -name emacs (notez l'argument -name). S'il y avait un emacs dans le répertoire actuel lorsque vous avez exécuté la commande find, il affiche en effet emacs à la fin selon votre commande (du moins sur Linux).

4voto

Jose Chavez Points 645

L'installation par défaut de macOS utilise un système de fichiers insensible à la casse. Ceci est vrai à la fois pour les installations HFS+ de macOS 10.12 (Sierra) et antérieures, ainsi que pour les installations APFS de macOS 10.13 (High Sierra) et ultérieures.

L'utilisation de systèmes de fichiers insensibles à la casse signifie que les fichiers et dossiers peuvent être accédés avec n'importe quel mélange de cas dans le nom. Le nom utilisé pour créer le fichier/dossier est utilisé tel quel lors de l'affichage du nom du fichier, mais lorsque vous devez y accéder, vous pouvez le mélanger :

$ touch myTeSt
$ ls
myTeSt
$ rm mytest
$ 

Autrement dit, le cas est affiché comme "myTeSt" lors de l'exécution de ls, mais vous pouvez supprimer le fichier en utilisant "mytest", "MYTEST" ou toute variation de celui-ci.

Naturellement, cela s'étend également aux programmes que vous pouvez ensuite démarrer en utilisant n'importe quelle variation de cas à l'intérieur du nom du programme.

Notez qu'il est possible d'installer macOS sur un système de fichiers sensible à la casse, où cela ne s'applique pas, cependant ce n'est pas l'installation par défaut.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X