macos - programa - perl 64 bits
Mac OS:/usr/bin/env: bad intérprete: operación no permitida (4)
¿Abriste / guardaste el archivo en TextEdit?
Eso puede introducir metadatos del sistema de archivos (atributo de cuarentena) que conducen al síntoma que describes .
Tratar:
xattr -l /usr/local/bin/bbcolors
y
xattr -d com.apple.quarantine /usr/local/bin/bbcolors
si ves el atributo de cuarentena.
Intento ejecutar este script en Mac OS 10.7 (Lion) y recibo el error:
$ bbcolors
-bash: /usr/local/bin/bbcolors: /usr/bin/env: bad interpreter: Operation not permitted
He ejecutado con éxito este script en otros Mac Macs. Es solo este script descargado y sin modificaciones de Daring Fireball.
Encontré a esta persona con un problema muy similar, pero la respuesta aceptada fue que el sistema de archivos tenía una opción ''noexe'' en mount. Estoy bastante seguro de que ese no es el caso para mí porque lo tengo en / usr / local / bin / y otras cosas allí funcionan bien (tampoco se ejecuta desde otros lugares o como otros usuarios, incluido el directorio raíz) .
$ which bbcolors
/usr/local/bin/bbcolors
$ ls -l /usr/local/bin/bbcolors
-rwxr-xr-x@ 1 nick staff 9751 Mar 30 19:09 /usr/local/bin/bbcolors
Es un script de Perl, no un binario compilado, aunque eso no debería importar. Aquí hay información adicional sobre lo que vale:
$ cat /usr/local/bin/bbcolors |head -n 1
#!/usr/bin/env perl
$ which perl
/usr/bin/perl
$ env | grep PATH
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
La respuesta de pilcrow es correcta, sin embargo, le llamo la atención sobre el hecho de que si está trabajando con una imagen de disco, el problema puede ser muy confuso, ya que el atributo com.apple.quarantine parece heredarse del archivo de imagen del disco a los archivos adentro (¡gracias a febeling en los foros de desarrollo de Apple por darse cuenta de eso!).
Para resolver el problema, debe eliminar el atributo de cuarentena de la imagen del disco:
xattr -d com.apple.quarantine /path/to/disk/image
y luego expulsar y volver a montar la imagen del disco. Entonces tus archivos estarán limpios de nuevo.
Resolví este problema. Abra el archivo de comando con TextEdit y guárdelo.
Más información: operación resuelta no permitida
-bash: /usr/local/bin/bbcolors: /usr/bin/env: bad interpreter: Operation not permitted
¿Existe /usr/bin/env
? ¿Puedes ejecutarlo? Ejecutar solo debería volcar las variables de entorno a stdout.
Puede reemplazar de forma segura:
#!/usr/bin/env perl
Con la ruta completa a su binario perl
de elección, por ejemplo:
#!/usr/bin/perl