web-dev-qa-db-fra.com

Résultats de la liaison symbolique exécutable "Commande introuvable"

J'ai créé un lien symbolique (hier) comme ceci:

Sudo ln -s bin/python /usr/bin/prj-python

Quand je cours:

prj-python file.py

Je reçois:

prj-python: command not found

Quand j'essaie de créer à nouveau le lien, je reçois:

ln: créer un lien symbolique `/ usr/bin/prj-python ': le fichier existe

Pourquoi cela se passe-t-il? Mon $PATH est:

/ usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/jeux:/opt/real/realPlayer

24
xralf

Vous avez oublié la barre oblique initiale avant bin/python. Ça signifie /usr/bin/prj-python Pointe maintenant à /usr/bin/bin/python. Que voudriez-vous que cela pointe exactement?

21
janmoesen

Choses à vérifier:

  • Effectuer un ls -l /usr/bin/prj-python

Si c'est comme:

lrwxrwxrwx (...) /usr/bin/prj-python -> bin/python

[.____] Le fichier sera effectivement recherché à / usr/bin/bin/python (c'est ce que Xralf a essayé de dire). Réparer:

[.____] rm /usr/bin/prj-python
[.____] ln -s /full/path/to/your/python /usr/bin/python-prj

  • Si votre bin/python Est un script shell (AKA. Script-script) Vérifiez le #! - Ligne (Parfois appelé Shebang - ligne) à la première ligne. S'il y a une faute de frappe comme #!/bin/bush Cela provoquera un non trouvé Message d'erreur également.
25
ktf