4 votes

-bash: Applications/mvim: /bin/sh: mauvais interpréteur: Opération non permise

Je reçois une erreur étrange avec le script mvim censé démarrer l'interface MacVim.

Voir ci-dessous le problème. /bin/sh est parfaitement fonctionnel, mvim a été chmod +x, d'autres scripts /bin/sh s'exécutent correctement... Je suis perdu ici.

jan@MacBook-Pro ~ $ file Applications/mvim 
Applications/mvim: script shell POSIX exécutable
jan@MacBook-Pro ~ $ head Applications/mvim 
#!/bin/sh
#
# Ce script shell transmet tous ses arguments au binaire à l'intérieur du
# bundle d'application MacVim.app. Si vous créez des liens vers ce script en tant que view,
# gvim, etc., alors il examinera le nom utilisé pour l'appeler et définira les options
# de manière appropriée.
#
# Basé sur un script de Wout Mertens et des suggestions de Laurent Bihanic. Cette
# version est de la responsabilité de Benji Fisher, 16 mai 2005 (avec des modifications par Nico
# Weber et Bjorn Winckler, 13 août 2007).
jan@MacBook-Pro ~ $ chmod +x Applications/mvim
jan@MacBook-Pro ~ $ Applications/mvim 
-bash: Applications/mvim: /bin/sh: mauvais interpréteur: Opération non autorisée

Voici que les scripts /bin/sh s'exécutent correctement...

jan@MacBook-Pro ~ $ vim test.sh
jan@MacBook-Pro ~ $ chmod +x test.sh 
jan@MacBook-Pro ~ $ ./test.sh 
hi
jan@MacBook-Pro ~ $ cat test.sh 
#!/bin/sh

echo "hi"

4voto

GaryF Points 11921

Hmm, il semble donc qu'OS X ait pensé qu'il était une bonne idée de mettre en quarantaine mon script, pour une raison quelconque, et de ne pas m'en informer.

jan@MacBook-Pro ~ $ xattr -d com.apple.quarantine Applications/mvim 

résout le problème.

-1voto

artbristol Points 17755

J'ai moi aussi eu un problème similaire qui semblait être causé par quelque chose de différent et je ne pouvais tout simplement pas mettre le doigt dessus.

Ceci est une modification à ma réponse initiale. J'ai maintenant supprimé mes tentatives d'aller-retour pour comprendre les causes. J'ai suggéré que cela était causé par des liens symboliques ou physiques qui ont changé d'une manière ou d'une autre en raison d'une activité de fichier ou de disque. Mais tout ce que j'ai fait semblait rendre la solution simple quelque peu confuse.

Peu importe ce qui s'est passé, c'est facile à résoudre - créez simplement une nouvelle copie. Une copie de fichier ne fonctionnera pas car elle ne fait que copier ce que ce fichier est devenu. Utilisez plutôt cat.

   $ cat weatherHistory.sh > weatherHistory2.sh
   $ rm weatherHistory.sh
   $ mv weatherHistory2.sh weatherHistory.sh
   $ ./weatherHistory.sh. # S'exécute comme prévu

Ceci est sur MacOSX 10.14.6.

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