ठीक है, मुझे एक समान समस्या हो रही है: -बेश: एप्लिकेशन / एमवीएम: / बिन / श: खराब दुभाषिया: ऑपरेशन की अनुमति नहीं है - लेकिन यह एक ही समस्या नहीं है। मुझे वही परिणाम मिल रहा है।
मैं पहले से ही सत्यापित किया है कि यह है नहीं com.apple.quarantine झंडा।
यह लाइन एंडिंग नहीं है (स्क्रिप्ट सिर्फ vi से बनाई गई थी)। मैं स्क्रिप्ट का उपयोग करके निष्पादित कर सकता हूं:
bash simpleshell.sh
यहाँ परिणाम है:
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$
अद्यतन: मुझे विश्वास नहीं है कि यह फाइल सिस्टम नॉइसेक के रूप में आरोहित हो रहा है। मैंने स्क्रिप्ट को 3 अलग-अलग जगहों पर चलाने की कोशिश की है: / tmp, ~, और / source।
UPDATE2: ठीक है, अधिक खुदाई के बाद - मैंने स्क्रिप्ट को अंदर / स्रोत बनाया, जो एक माउंटेड डीजीएम है। यहीं से मैंने xattr -l चलाया और कुछ नहीं पाया। जब मैंने स्क्रिप्ट को ~ को cp'd दिया और xattr -l चलाया, तो उसमें com.apple.quarantine xattr था। एक कूबड़ पर, मैंने / के लिए माउंट विशेषताओं को देखा और पाया:
/dev/disk1s9 on /Volumes/code (hfs, local, nodev, nosuid, journaled, noowners, quarantine, mounted by kylar)
इसलिए जब मैं इस डीजीएम को माउंट करता हूं तो यह संगरोध के रूप में सेट हो रहा है। मैं यह कैसे बता सकता हूं कि इसे संगरोध ध्वज के साथ माउंट नहीं करना है? एक बार जब मैंने झंडे को ~ में हटा दिया, तो स्क्रिप्ट ठीक चली।
chmod +x file.sh; ./file.sh
। हो सकता है कि फाइलसिस्टम "नॉइसेक" झंडे के साथ घुड़सवार हो।
defaults write com.apple.LaunchServices LSQuarantine -bool NO
।