vérification de la capitalisation du chemin de pwd


9

Existe-t-il un moyen rapide de vérifier dans le terminal que la commande du terminal pwdrenvoie la mise en majuscule correcte du chemin?

Notez que si vous le faites cd ~/desktopalors pwdvous dira que votre chemin est /Users/foo/desktopplutôt que le bon /Users/foo/Desktop.

EDIT: Motivation: les systèmes de construction ont besoin d'un moyen de vérifier cela tôt, sinon c'est vraiment difficile à déboguer . Un utilisateur sans méfiance utilise une mauvaise capitalisation, démarre une génération, obtient des erreurs très déroutantes.

EDIT2: L'acceptation silencieuse d'une entrée incorrectement capitalisée pour cdest le comportement standard de bashsur un système de fichiers HFS +, et donc pour la grande majorité des utilisateurs OSX. Ensuite, pwdest un bashintégré, et il prend simplement le contenu de la pile de chemins du shell (fautes de frappe incluses).


Pourquoi ne voudriez-vous pas le faire cd ~/Desktopalors pwdvous dirait/Users/user/Desktop/
Brick

1
c'est pour rendre un système de construction plus robuste. Je vais éditer la question avec plus de détails
Dima Pasechnik

1) Comment peut-on pwdrenvoyer autre chose que la mise en majuscule correcte du répertoire actuel? 2) Comment pouvez-vous y cd ~/desktopaller à /Users/foo/Desktopmoins d'avoir un lien symbolique ou quelque chose? Cette question n'a aucun sens.
Allan

1
@Allan: essayez ce que je dis dans la question, sur un système de fichiers insensible à la casse! Tu seras surpris. Non, vous n'avez pas besoin de liens symboliques ou quoi que ce soit. Cela fonctionne (TM :-)) - et vous tire dans le pied en cours de route.
Dima Pasechnik du

2
@Allan Je suppose que 95% des utilisateurs d'Apple le font. Par défaut, Apple livre des machines avec des systèmes de fichiers HFS + (c'est-à-dire insensibles à la casse).
Dima Pasechnik

Réponses:


6

Utilisation /bin/pwd

cd ~/desktop
/bin/pwd -P
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.