2 votes

Caractère d'espace échappé dans le fichier pathfile ?

J'essaye de définir une variable d'environnement pour le dossier média d'Anki, dans .bash_profile .

La ligne est export ANKI_MEDIA='/Users/<username>/Library/Application Support/Anki2/me/collection.media' .

Une fois sourcé J'essaie. echo $ANKI_MEDIA qui renvoie correctement le chemin complet mais si je fais cd $ANKI_MEDIA Je reviens -bash: cd: "/Users/<username>/Library/Application\: No such file or directory

J'ai essayé différentes combinaisons de guillemets simples et doubles, sans succès. Veuillez me conseiller, merci d'avance.

EDIT 1

J'ai essayé d'écrire le fichier de chemin dans .bash_profile à l'intérieur de backticks. Après sourcing je reviens immédiatement -bash: /Users/<username>/Library/Application Support/Anki2/me/collection.media: is a directory

EDIT 2

Pour référence future, j'ai créé un lien dans le répertoire personnel de l'utilisateur et l'ai fait pointer vers le fichier collection.media dossier. Ce n'est qu'une solution de rechange, j'apprécierais beaucoup que quelqu'un m'aide à résoudre cette énigme.

3voto

nohillside Points 82672

L'interpréteur de commandes utilise le caractère espace comme séparateur entre les mots, de sorte que les chemins contenant des espaces doivent toujours être placés dans le fichier "" lorsqu'il est utilisé (ce qui implique qu'il est recommandé/meilleure pratique de s'assurer que tous les chemins et noms de fichiers dans les scripts de l'interpréteur de commandes et les fichiers init sont correctement cités) :

ANKI_MEDIA="/Users/<username>/Library/Application\ Support/Anki2/me/collection.media"
cd "$ANKI_MEDIA"

Vous pouvez également utiliser \ pour protéger un espace mais cela ne fonctionne que pour les chemins littéraux, pas pour les variables :

cd /Users/<username>/Library/Application\ Support/Anki2/me/collection.media

Si l'application des guillemets à chaque fois que vous changez de répertoire n'est pas pratique, vous pouvez utiliser un alias à la place :

alias cdanki="cd '$ANKI_MEDIA'"

1voto

WobblyWindows Points 141

Il y avait une erreur sur le nom du fichier de chemin (après Anki2/me/...) : le profil utilisateur était en fait "me_201908". Aussi, cette fois-ci, j'ai édité le fichier dans vim et j'ai utilisé $HOME dans le pathfile de la variable.

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