mount sta aggiungendo un flag di quarantena, causando: / bin / bash: interprete non valido: operazione non consentita - ma non i soliti sospetti

8

OK, sto riscontrando un problema simile a: - bash: Applications / mvim: / bin / sh: interprete non valido: operazione non consentita - ma non è lo stesso problema. Sto ottenendo lo stesso risultato.

Ho già verificato che è non il flag com.apple.quarantine.

È non le terminazioni di riga (lo script è stato creato solo da vi). Posso eseguire lo script usando:

bash simpleshell.sh

Ecco i risultati:

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$ 

UPDATE: Non credo che il filesystem sia montato come noexec. Ho provato a eseguire lo script in 3 posizioni diverse: / tmp, ~ e / source.

UPDATE2: Ok, dopo aver scavato di più - ho creato lo script all'interno / source, che è un dmg montato. Ecco dove ho eseguito xattr -l e non ho trovato nulla. Quando ho copiato lo script in ~ e ho eseguito xattr -l, allora aveva il com.apple.quarantine xattr. Su un sospetto, ho esaminato gli attributi di mount per / source e trovato:

/dev/disk1s9 on /Volumes/code (hfs, local, nodev, nosuid, journaled, noowners, quarantine, mounted by kylar)

Quindi quando monto questo dmg viene impostato come quarantena. Come posso dire a mount di non montarlo con il flag di quarantena? Una volta rimosso il flag in ~, lo script è andato bene.

    
posta Kylar 19.09.2012 - 17:57
fonte

2 risposte

1

Lo script veniva eseguito da all'interno di un file .dmg con il flag di quarantena impostato su di esso. Quando è stato montato .dmg, lo stava montando con un flag di quarantena che è ereditato, ma non viene visualizzato. Ho smontato il file .dmg, rimosso la bandiera di quarantena e reinstallato, e tutto andava bene.

    
risposta data 20.03.2013 - 14:56
fonte
0

Ho una soluzione semplice: cat configure.sh > test.sh quindi esegui test.sh.

Risulta essere un problema di editor: link

    
risposta data 11.07.2013 - 03:56
fonte

Leggi altre domande sui tag