माउंट एक संगरोध ध्वज जोड़ रहा है, जिसके कारण: / बिन / बैश: खराब दुभाषिया: ऑपरेशन की अनुमति नहीं है - लेकिन सामान्य संदिग्ध नहीं


8

ठीक है, मुझे एक समान समस्या हो रही है: -बेश: एप्लिकेशन / एमवीएम: / बिन / श: खराब दुभाषिया: ऑपरेशन की अनुमति नहीं है - लेकिन यह एक ही समस्या नहीं है। मुझे वही परिणाम मिल रहा है।

मैं पहले से ही सत्यापित किया है कि यह है नहीं 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)

इसलिए जब मैं इस डीजीएम को माउंट करता हूं तो यह संगरोध के रूप में सेट हो रहा है। मैं यह कैसे बता सकता हूं कि इसे संगरोध ध्वज के साथ माउंट नहीं करना है? एक बार जब मैंने झंडे को ~ में हटा दिया, तो स्क्रिप्ट ठीक चली।


यदि आपको यहां अपना जवाब नहीं मिलता है, तो UNIX और Linux SE पर पूछें।
बॉट 47

मैं इसे वैसे भी क्रॉस-पोस्ट कर सकता हूं - यह मूल रूप से मुझे किसी भी काम को करने से रोक रहा है :(
काइल

क्या आप इसी तरह से एक ही फाइल सिस्टम पर अन्य प्रोग्राम चलाने में सक्षम हैं? वह उपयोग कर रहा है chmod +x file.sh; ./file.sh। हो सकता है कि फाइलसिस्टम "नॉइसेक" झंडे के साथ घुड़सवार हो।
cm2

2
यह आपके प्रश्न को फिर से लिखने में मददगार हो सकता है कि केवल यह बताने के लिए कि माउंट को कैसे संगरोध ध्वज का उपयोग न करने के लिए कहा जाए, क्योंकि आपने अब यह निर्धारित किया था कि यह आपकी वास्तविक समस्या थी। इसके अलावा, मैं, कैसे एक विशेष खंड के लिए उसे निष्क्रिय करने के पता नहीं है, लेकिन कुल मिलाकर अक्षम संगरोध करने के लिए defaults write com.apple.LaunchServices LSQuarantine -bool NO
houbysoft

2
ठीक है, मैंने इसे हल कर लिया है। .Dmg फ़ाइल पर एक com.apple.quarantine xattr सेट था। मुझे इसे अनमाउंट करना था, xattr को साफ़ करना और फिर dmg को रिमूव करना था। GAH। @houbysoft: इसे पूरी तरह से बंद करने पर टिप के लिए धन्यवाद।
काइलार

जवाबों:


1

स्क्रिप्ट को .dmg के अंदर से चलाया जा रहा था, जिसमें उस पर संगरोध ध्वज स्थापित था। जब .dmg को माउंट किया गया था, तो यह एक संगरोध ध्वज के साथ बढ़ रहा था जो विरासत में मिला है, लेकिन यह दिखाई नहीं देता है। मैंने .dmg को अनमाउंट कर दिया, संगरोध झंडे को हटा दिया, और इसे फिर से लगा दिया और सब ठीक हो गया।


इसके लिए शुक्रिया। मुझे एक समान समस्या थी, और यह मुझे पागल कर रहा था: एक पर्ल स्क्रिप्ट, जिसे विम (या यहां तक ​​कि बिल्ली) द्वारा बनाया गया था, जिसके साथ कोई संगरोध एक्सट्रा जुड़ा नहीं था। हालाँकि, स्क्रिप्ट माउंटेड स्पर्स बंडल में रहती थी। इस पृष्ठ को पढ़ने के बाद, मैंने फ़ाइल सिस्टम को अनमाउंट किया और बंडल के अंदर देखा: "टोकन" नाम की एक फ़ाइल थी जिसमें "com.apple.quarantine" xattr सेट था। एक बार जब मैंने xattr को हटा दिया और विरल बंडल फाइल सिस्टम को रिमूव किया, तो पर्ल स्क्रिप्ट के साथ मेरी "खराब दुभाषिया" समस्या दूर हो गई।
ली जॉनसन

0

मेरे पास एक सरल उपाय है: cat config.sh> test.sh उसके बाद test.sh चलाएं।

एक संपादक समस्या होने की ओर इशारा करता है: https://discussions.apple.com/thread/3733470?start=30&tstart=0


नहीं, यह मेरी स्थिति का हल नहीं है। जैसा कि प्रश्न पढ़ता है, मैं स्क्रिप्ट बनाने के लिए vi का उपयोग कर रहा था। हालांकि यह एक दिलचस्प कड़ी है।
काइलार
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.