OSX 'बैश स्क्रिप्ट के साथ खुला


8

मुझे एक बैश स्क्रिप्ट मिली है, संभवतः उनमें से कई वास्तव में, जो मैं ओएसएक्स के खोजक के साथ फाइल खोलने में सक्षम होना चाहता हूं।

यह वास्तव में एक सरल अवधारणा है, लेकिन किसी कारण के लिए बैश स्क्रिप्ट को 'डायलॉग के साथ' खोजक में खोला जाता है।

मैं इकट्ठा करता हूं कि ऐप्पलस्क्रिप्ट या पैकेजिंग को एक ऐप के रूप में उपयोग करने के विभिन्न तरीके हैं ... लेकिन मैं इस में से किसी का भी पता नहीं लगा सका हूं और मैं वास्तव में इस तुच्छ कार्य के लिए किसी अन्य भाषा को चुनना नहीं चाहता हूं। - क्या कोई चम्मच मुझे खिला सकता है यह कैसे करना है?

धन्यवाद!

जवाबों:


11

यह मुमकिन नहीं है। लॉन्च सेवाएँ एप्लिकेशन पहचानकर्ताओं के साथ काम करती हैं और बैश स्क्रिप्ट उनके पास नहीं हैं।

आपको ऑटोमेटर का उपयोग करके एक आवरण एप्लिकेशन बनाने की आवश्यकता है।

  1. ऑटोमेटर लॉन्च करें
  2. एप्लिकेशन का चयन करें
  3. के लिए देखो भागो शैल स्क्रिप्ट कार्रवाई और सही में जोड़ें।
  4. तर्कों के रूप में इनपुट पास करें
  5. वहाँ अपनी स्क्रिप्ट रखो
  6. कहीं बचा लो

यहां ग्रोएल कमांड लाइन उपयोगिता का उपयोग करते हुए मेरा संस्करण है :

यहाँ छवि विवरण दर्ज करें

परिणाम:

यहाँ छवि विवरण दर्ज करें


~/Library/Preferences/com.apple.LaunchServices.plistजब आप सभी को बदलते हैं तो इस परिवर्तन का प्रभाव आप देख सकते हैं :

यहाँ छवि विवरण दर्ज करें

("टेस्ट" वह नाम है जिसे मैंने अपना ऑटोमेटर एप्लिकेशन दिया था)


धन्यवाद। मैंने इसे एक चक्कर दिया, लेकिन मैं कोशिश करता हूं और ऑटोमेकर द्वारा बनाई गई ऐप के साथ इसे खोल देता हूं। यह कहता है कि "रन शैल स्क्रिप्ट" कार्रवाई में एक त्रुटि हुई। क्रिया के गुणों की जाँच करें और वर्कफ़्लो को फिर से चलाने का प्रयास करें। जो कम से कम उपयोगी त्रुटि संदेश के बारे में है जो मैंने कुछ समय के लिए देखा है!
अमीर

@ क्या यह रन शेल स्क्रिप्ट एक्शन में डिफ़ॉल्ट स्क्रिप्ट के साथ काम करता है? या तब भी नहीं? क्या आपने पास इनपुट वरीयता को बदलने के लिए याद किया था ? क्या आप अपने आवेदन पर डबल क्लिक करके, आपके आवेदन पर फाइलें खींच रहे हैं, या केवल संबंधित फाइल खोल रहे हैं? यदि आप इसे अन्य तरीकों से शुरू करते हैं तो क्या होगा?
डैनियल बेक

धन्यवाद। यह निश्चित नहीं है कि आप डिफ़ॉल्ट से आउटपुट कैसे देखेंगे क्योंकि यह सिर्फ कैट कहता है, लेकिन ऐसा लगता है कि इसमें कोई त्रुटि नहीं थी। इसके बजाय ऐप ने मेरी स्क्रिप्ट को एक गैर-मानक स्थान से कॉल किया है जो मैंने / usr / स्थानीय / बिन में एक स्क्रिप्ट बनाई थी और तब पता चला कि अगर मैंने इसे चलाने की कोशिश की तो यह शिकायत की कि प्रतीकात्मक लिंक के कई स्तर थे (1 ?!) ) तो मैंने इसके बजाय सिर्फ स्क्रिप्ट की नकल की है और यह अब काम करने लगता है। धन्यवाद!
अमीर

1

मैंने कुछ संशोधनों के साथ डैनियल बेक के निर्देशों का पालन किया और इसे URL फ़ाइलों के लिए काम करने के लिए मिला, जो मैं एक मैक पर क्रोम (फ़ायरफ़ॉक्स भी काम करूंगा) में खोलना चाहता था।

मेरे द्वारा उपयोग की जाने वाली स्क्रिप्ट है:

sed 's/^URL=/URL=/' "$1" | grep -m 1 '^URL=' | sed 's/^URL=//' | tr -d '\r' | xargs open -a "Google Chrome"

यह एक सामान्य URL फ़ाइल से URL = लाइन को पार करता है जो दिखता है:

[InternetShortcut]
URL=http://www.docircuits.com/pricing
IDList=
HotKey=0
IconFile=O:\Apps\Firefox\Data\profile\shortcutCache\4t0JW4mY1qRPhiYz1fY3dw==.ico
IconIndex=0

अपने ~ / पुस्तकालय निर्देशिका की तरह कहीं भी ऑटोमेटर स्क्रिप्ट को बचाओ। मैंने अपना नाम OpenUrl.app बताया।

अब कहीं एक यूआरएल फ़ाइल पर जाएं और "गेट इन्फो" पॉपअप खोलें। अपने OpenUrl.app स्क्रिप्ट के साथ कमांड खोलें। सिर्फ एक के साथ टेस्ट करें या "चेंज ऑल ..." पर क्लिक करें। पहली बार मैंने क्लिक किया था कि यह एक त्रुटि है, लेकिन दूसरी बार काम करने के लिए लग रहा था।

इसे विकसित करने में मुझे "रन शैल स्क्रिप्ट" त्रुटियां मिलीं, लेकिन ऐसा स्क्रिप्ट में वास्तविक त्रुटियों के कारण हुआ। मुझे लगता है कि डैनियल की स्क्रिप्ट के साथ मुख्य मुद्दा यह है कि यह आपके द्वारा खोलने की कोशिश करने वाले फ़ाइल नाम में रिक्त स्थान को संभाल नहीं पाता है।


-1

उपयोग reattach-to-user-namespace, या तो रेपो से या के साथ brew install reattach-to-user-namespace। यह सिएरा में काम करता है, मैं अन्य ओएस के बारे में निश्चित नहीं हूं।

एक बार स्थापित होने के बाद, इसे bash स्क्रिप्ट में उपयोग करें जैसे:

reattach-to-user-namespace a_cool_file.png खोलें


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