OK, estoy teniendo un problema similar a: -bash: Aplicaciones/mvim: /bin/sh: mal intérprete: Operación no permitida - pero no es el mismo problema. Estoy consiguiendo el mismo resultado.
Ya he comprobado que no la com.apple.cuarentena de la bandera.
Es que no los finales de línea (script fue creado a partir de vi). Puede ejecutar la secuencia de comandos mediante el uso de:
bash simpleshell.sh
He aquí los resultados:
fawkes:tmp kylar$ vi simpleshell.sh
fawkes:tmp kylar$ chmod +x simpleshell.sh
fawkes:tmp kylar$ ./simpleshell.sh
-bash: ./simpleshell.sh: /bin/bash: bad interpreter: Operation not permitted
fawkes:tmp kylar$ cat simpleshell.sh
#!/bin/bash
export FOO=Hey
echo $FOO
fawkes:tmp kylar$ which bash
/bin/bash
fawkes:tmp kylar$ bash simpleshell.sh
Hey
fawkes:tmp kylar$ xattr -l simpleshell.sh
fawkes:tmp kylar$
ACTUALIZACIÓN: yo no creo que es el sistema de ficheros está montado como noexec. He intentado correr el script en 3 lugares diferentes: en /tmp, ~, y de la fuente.
UPDATE2: Ok, después de más de excavación - he creado el script dentro de /la fuente, la cual es montada dmg. Que es donde me encontré con xattr -l y no encontró nada. Cuando yo cp en el script ~ y corrió xattr -l, que tenía entonces la com.apple.cuarentena xattr. En una corazonada, me miré en el monte de los atributos de la fuente y encontrar:
/dev/disk1s9 on /Volumes/code (hfs, local, nodev, nosuid, journaled, noowners, quarantine, mounted by kylar)
Así que cuando me monte este dmg se establece como la cuarentena. ¿Cómo puedo saber el monte no para montarlo con la bandera de cuarentena? Una vez me quitaron la bandera de ~, la secuencia de comandos se ejecutó bien.