एक .tool एप्लिकेशन से फ़ोल्डर कैसे एक्सेस करें


0

मैं एक क्लिक करने योग्य स्क्रिप्ट बना सकता हूँ, बदलकर .sh विस्तार ए .tool (या .command ) एक। हालाँकि जब मैं ऐसा करता हूं, तो मेरी स्क्रिप्ट में जो रास्ते होते हैं, वे टूट जाते हैं।

मैं एक चलाने की कोशिश कर रहा हूँ dotnet मुख्य अनुप्रयोग और मेरी शेल स्क्रिप्ट सरल है:

#!/bin/bash
dotnet ${PWD}/OUTPUT/Calculator.dll 

जहां OUTPUT उस फ़ोल्डर का नाम है जिसमें डॉटनेट रिलीज फाइलें हैं।

अगर स्क्रिप्ट ए है .sh फ़ाइल, स्क्रिप्ट चलती है, लेकिन फिर अंतिम उपयोगकर्ता को टर्मिनल पर जाना होता है और टाइप करना होता है ./runscript.sh या जो भी मैं इसे कॉल करता हूं।

दूसरी बात जो मैंने देखी वह यह थी कि ऐसा लगता है कि ऐप का आउटपुट किसी भी स्थान को बदलते हुए हटा देता है:

dotnet ${PWD}/OUTPUT/Calculator.dll

में:

dotnet-${PWD}/OUTPUT/Calculator.dll

मैं इसे कैसे बनाऊं ताकि स्क्रिप्ट में मेरे रास्ते टूट न जाएं जब मैं इसे एक .tool एक्सटेंशन में बदलता हूं?


अद्यतन करें:

जैसा कि सुझाव दिया गया है कि मैंने दोनों की कोशिश की है:

dotnet ~/OUTPUT/Calculator

यह परिणाम है:

कोई निष्पादन योग्य मिलान आदेश नहीं मिला "डॉटनेट / उपयोगकर्ता / jeff_mba / OUTPUT / कैलकुलेटर"

तथा:

dotnet\ ~/OUTPUT/Calculator

जो में परिणाम:

:

तो एक रिक्ति मुद्दा है, लेकिन अगर मैं अंतरिक्ष से बचता हूं तो यह कहता है कि परियोजना नहीं मिली है

लेकिन स्क्रीनशॉट के अनुसार यह वास्तव में मौजूद है।

Outside of OUTPUT folder

Inside of OUTPUT folder


जो अतिरिक्त नोट री डॉटनेट नहीं मिल रहा है वह एक अलग प्रश्न होना चाहिए। यहाँ मुद्दा यह है कि $ PATH अलग है अगर टर्मिनल के माध्यम से या GUI के माध्यम से कहा जाता है
Mark

जवाबों:


1

आपको बस स्क्रिप्ट में DLL को पूर्ण पथ की आपूर्ति करनी है।

जब आप Terminal.app से स्क्रिप्ट चलाते हैं, तो PWD वातावरण चर में उस फ़ोल्डर का पथ सम्‍मिलित होता है जहां आप वर्तमान में रखे गए हैं। अर्थात। यदि आप अन्य फ़ोल्डरों में जाने के लिए सीडी का उपयोग करते हैं, तो पीडब्ल्यूडी पर्यावरण चर स्वचालित रूप से मिलान करने के लिए अद्यतन किया जाता है।

जब आप GUI का उपयोग कर रहे हैं और किसी आइकन पर डबल-क्लिक कर रहे हैं, तो आप वास्तव में "उस समय एक विशिष्ट फ़ोल्डर" में नहीं हैं। तो पीडब्ल्यूडी पर्यावरण चर की एक ही अवधारणा आपके आंदोलनों पर नज़र रखने से कोई मतलब नहीं है।

इसके बजाय केवल स्क्रिप्ट में पूर्ण पथ की आपूर्ति करें, जैसे:

dotnet ~/OUTPUT/Calculator.dll

यहां ~ का मतलब है कि वर्तमान में उपयोगकर्ता के होम फ़ोल्डर में लॉग इन किया गया है।


तो क्या इसका मतलब यह है कि मुझे अपने होम डायरेक्टरी में आउटपुट फ़ोल्डर की आवश्यकता है या यह कहीं भी हो सकता है?
Jeff Kranenburg

मैंने आपके उत्तर के आधार पर अधिक परिणामों के साथ प्रश्न को अपडेट किया है - मैं अभी भी समस्या है
Jeff Kranenburg

आउटपुट फ़ोल्डर कहीं भी हो सकता है (यह मानते हुए कि उपयोगकर्ता ने उस स्थान पर अनुमतियाँ लिखी हैं)।
jksoegaard

मुझे लगता है कि $ PWD जीयूआई कार्यक्रमों में मौजूद है, लेकिन यह इतना / इतना उपयोग नहीं है जितना आप वर्णन करते हैं
Mark

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