2 votes

"est une erreur de répertoire" en bash

J'ai une connaissance très limitée de bash et je n'ai pas réussi à comprendre ce que je faisais mal.

J'essaie de suivre les étapes de cet article de blog : Utilisation de Mendeley et de Dropbox pour synchroniser votre bibliothèque de pdf sur plusieurs ordinateurs

Cependant, lorsque j'exécute les commandes du terminal, j'obtiens l'erreur suivante :

~/Library/Application\ Support>cp -r Mendeley\ Desktop/ ~/Dropbox/Mendeley/db/
-bash: /Users/XXXXXXXX/Library/Application Support: is a directory

Tout ce que j'ai lu en ligne semble indiquer que cette commande est correcte.

0 votes

L'article que vous avez cité n'a rien à voir avec les scripts bash en tant que tels, il s'agit simplement d'exécuter des programmes individuels en ligne de commande dans un terminal et, dans ce cas, ce n'est pas la même chose que les scripts bash. Cela dit, l'article est mal écrit ! L'invite de commande présentée est atypique par rapport à l'invite par défaut d'OS X, qui présente normalement le modèle défini dans l'environnement, à savoir PS1='\h:\W \u\$ ' . Où \h est le nom d'hôte, jusqu'au premier '.', un : comme séparateur, \W le nom de base de $PWD , avec $HOME abrégé par un tilde, un espace comme séparateur, (Suite au prochain...)

0 votes

\u le nom d'utilisateur de l'utilisateur actuel et \$ si l'identifiant effectif est 0, # sinon $ suivi d'un autre espace . Ainsi, l'invite avec le cp aurait dû ressembler à ce qui suit, par exemple mac1:Application Support johndoe$ cp -r Mendeley\ Desktop/ ~/Dropbox/Mendeley/db/ après qu'on lui ait dit d'abord de le faire cd a ~/Library/Application\ Support ce qui n'était pas prévu. On m'a juste montré une représentation extrêmement pauvre de ce à quoi l'invite de commande ressemblerait et elle n'aurait jamais ressemblé à cela en premier lieu ! Ce n'est donc pas du tout votre faute s'il y a eu confusion.

1voto

klanomath Points 63400

L'auteur de l'article lié avait probablement un profil bash modifié (comme expliqué par l'utilisateur user3439894 dans les commentaires de votre question) ou avait des problèmes pour copier et coller les commandes.

Utilisez plutôt le texte suivant :

cd ~/Library/Application\ Support
cp -r Mendeley\ Desktop/ ~/Dropbox/Mendeley/db/
mv Mendeley\ Desktop/ _backup_Mendeley_Desktop/
ln -s ~/Dropbox/Mendeley/db/Mendeley\ Desktop .

N'oubliez pas d'inclure le point . à la fin de la dernière commande. La dernière ligne signifie : créer un soft link du dossier "~/Dropbox/Mendeley/db/Mendeley Desktop" dans votre répertoire de travail actuel (qui est "~/Bibliothèque/Application Support").

Explication :

  1. cd ~/Library/Application\ Support : changer le répertoire de travail en "/Users/YourUserFolder/Library/Application Support".
  2. cp -r Mendeley\ Desktop/ ~/Dropbox/Mendeley/db/ : copier le dossier (y compris le contenu) "Mendeley Desktop" dans le dossier "~/Dropbox/Mendeley/db/".
  3. mv Mendeley\ Desktop/ _backup_Mendeley_Desktop/ : renommez (déplacez/sauvegardez) le dossier "Mendeley Desktop" en "_backup_Mendeley_Desktop".
  4. ln -s ~/Dropbox/Mendeley/db/Mendeley\ Desktop . : créez un soft link du dossier "~/Dropbox/Mendeley/db/Mendeley Desktop" dans votre répertoire de travail actuel.

1 votes

Que l'auteur de l'article en question ait ou non un profil bash modifié, l'article ne contenait pas de véritable orientation sur le sujet de l'utilisation du terminal. Il suffit de dire que l'utilisateur moyen d'un ordinateur n'utilise pas souvent la ligne de commande et qu'il est généralement intimidé lorsqu'il doit le faire, même s'il dispose d'instructions claires. C'est ce qui manque à l'article de l'IMO. (Suite dans le commentaire suivant...)

1 votes

Au lieu d'afficher, par exemple, "[mac]@mac1:~/Bibliothèque/Application Support>", il aurait fallu donner des instructions claires pour cd a ~/Library/Application\ Support et de ne montrer que les commandes individuelles sans afficher une invite de commande atypique. Si l'invite doit être affichée, utilisez ce qui est une valeur typique par défaut ou utilisez simplement $ comme c'est souvent le cas dans certaines documentations, ou n'en montrent pas du tout. Personnellement, je préfère qu'on me dise de cd ... et qu'on lui montre les commandes à exécuter sans afficher l'invite de commande. Moins les commandes à exécuter sont encombrées, plus le processus est facile à comprendre.

0 votes

Je voulais juste que vous sachiez que mes commentaires ne suggéraient pas que vous deviez modifier votre réponse ou donner une explication. Je critiquais simplement l'article mal écrit de l'OP. Vos réponses sont généralement bien écrites et faciles à comprendre, même lorsqu'il s'agit de sujets compliqués, ce qui n'est pas le cas de celle-ci. Cela dit, votre récente édition ajoute certainement de la valeur pour le néophyte de la ligne de commande :) Je vous redonnerais +1 si je le pouvais.

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