Estoy tratando de ejecutar este script en Mac OS 10.7 (Lion) y estoy consiguiendo el error:Mac OS:/usr/bin/env: mala intérprete: Operación no permitida
$ bbcolors
-bash: /usr/local/bin/bbcolors: /usr/bin/env: bad interpreter: Operation not permitted
I He ejecutado con éxito esta secuencia de comandos en otras Macs mías. Es solo this script descargado y sin modificaciones de Daring Fireball.
Encontré this person con un problema muy similar, pero la respuesta aceptada fue que el sistema de archivos tenía una opción 'noexe' en el montaje. 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
[email protected] 1 nick staff 9751 Mar 30 19:09 /usr/local/bin/bbcolors
Es un script de Perl no es un binario compilado, eso no debería importar. Aquí hay algo de información extra para 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
Has cubierto la mayoría de las bases normales para lo que podría estar yendo mal; bien hecho. ¿Qué sucede cuando ejecutas 'perl -v'? ¿Qué aparece después de las líneas de comentarios iniciales en el script de Perl ('bbcolors')?Además, el '@' después de los permisos significa que hay alguna información de atributo auxiliar para el archivo; ¿Has investigado que eso es (tal vez con 'ls - @')? –
He resuelto el problema con 'xattr -r com.apple.quarantine/file/path' Responderé a mi propia pregunta pero no tengo suficientes representantes para hacerlo durante unas horas. – Nick
'xattr -d com.apple.quarantine/usr/local/bin/bbcolors'? ('-r' significa 'recursivo';' -d' significa 'eliminar'.) Sigo olvidando cómo se llama ese comando. –