Ne peut utiliser que certaines commandes comme sudo

2

J'ai eu un petit problème avec certaines commandes récemment, ne fonctionnant pas comme prévu.
Je voulais manipuler Markdown et l'essayer pour remplacer quelques pages HTML simples. J'ai donc cherché des outils faciles à utiliser et découvert pandoc.

Je suis allé de l'avant, installé, il a réussi et j'ai ouvert Terminal.app.
Cependant, je ne peux pas exécuter ma commande en tant que utilisateur normal :

-bash: pandoc: command not found

Si je fais un man pandoc Je suis capable de voir le manuel, donc je sais qu'il est installé.

Mais je suis capable de l'exécuter en tant que super utilisateur aka root.

Si j'essaye sudo pandoc Je suis capable d'utiliser l'outil,
par exemple sudo pandoc -s test.mdown -o test.html

Quelle en est la raison et est-ce facile à corriger? Cela fonctionne parfaitement sur mon ordinateur portable, mais pas sur mon ordinateur de bureau.

Mon $ PATH est /opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/texbin

Merci d'avance, cela brouille vraiment mon équipement.

Filuren
la source
que dit sudo quel pandoc?
parkydr
/usr/local/bin/pandoc
Filuren
Quelles sont les autorisations et la propriété de pandoc?
slhck
Si je vous comprends bien, vous pouvez exécuter la commande en tant que root utilisateur (en utilisant la commande sudo pandoc ), mais pas en tant qu'utilisateur normal. Qu'est-ce que ls -l /usr/local/bin/pandoc dire? Peut-être que seul root a les autorisations nécessaires pour exécuter le fichier? Et que se passe-t-il si vous le démarrez en tant que /usr/local/bin/pandoc (avec le chemin complet)?
erik
ls: /usr/local/bin/pandoc: Permission denied cela ressemble donc à des problèmes de permission. Si j'essaie de courir avec un chemin complet, je reçois -bash: /usr/local/bin/pandoc: Permission denied
Filuren

Réponses:

1

Assurez-vous que vous avez +x pour /usr/local/bin. Vous auriez un Permission denied erreur s'il s'agissait d'un problème avec l'exécutable lui-même; tel quel, il semble y avoir un problème avec le répertoire.

Nikita Kouevda
la source
Comment puis-je faire cela? Juste sudo chmod +x /usr/local/bin? EDIT: On dirait que ça marche maintenant, merci. Toute raison pour laquelle ma permission a été changée, je ne me rappelle pas avoir changé quoi que ce soit?
Filuren
Vous pouvez vérifier cela en exécutant ls -l /usr/local. En supposant root possède ce répertoire, vous auriez à faire sudo chmod a+x /usr/local/bin.
Nikita Kouevda
0

pandoc ne peut probablement pas être trouvé dans le PATH pour l'utilisateur root. Si vous pouvez vous connecter en tant que root, lancez

env | grep ^PATH

Gevork Palyan
la source