मेरे पास एक script.sh फ़ाइल है और इस फ़ाइल का प्रकार शेलस्क्रिप्ट फ़ाइल है। मैं इस फाइल को एप्लिकेशन / एक्स-एक्जीक्यूटेबल फाइल के रूप में बनाना चाहता हूं। मैं इसे कैसे बना सकता हूं?
मेरे पास एक script.sh फ़ाइल है और इस फ़ाइल का प्रकार शेलस्क्रिप्ट फ़ाइल है। मैं इस फाइल को एप्लिकेशन / एक्स-एक्जीक्यूटेबल फाइल के रूप में बनाना चाहता हूं। मैं इसे कैसे बना सकता हूं?
जवाबों:
आप फ़ाइल को निष्पादन योग्य के रूप में चिह्नित कर सकते हैं:
chmod +x filename.sh
आप इसे इस तरह निष्पादित कर सकते हैं:
./filename.sh
यदि आप इसे शुरू करने के लिए एक अलग कमांड का उपयोग करना चाहते हैं, तो आप एक उपनाम जोड़ सकते हैं:
gedit ~/.bashrc
इसे फ़ाइल के अंत में जोड़ें:
alias <new name>='/home/<full path to script>/filename.sh'
नया टर्मिनल सत्र खोलें या source ~/.bashrcआवेदन करने के लिए अपने टर्मिनल में टाइप करें। फिर स्क्रिप्ट शुरू करने के लिए बस नए नाम का उपयोग करें।
./filename.shसिर्फ और सिर्फ filename.shक्यों नहीं है ?
filenameन कि./filename
./filename.shवर्तमान निर्देशिका में filename.shएक फ़ाइल निर्दिष्ट करता है और वर्तमान निर्देशिका या PATH के किसी भी निर्देशिका में एक फ़ाइल निर्दिष्ट करता है। पहला उपयोग किसी भी अनिश्चितता को हटाता है कि किस फ़ाइल तक पहुँचा है। इस मामले में, आप #!/bin/bashकेवल फ़ाइल नाम दर्ज करके, बैश या किसी अन्य दुभाषिया ( अपनी स्क्रिप्ट में पहली पंक्ति के रूप में ग्रहण की गई) के साथ स्क्रिप्ट को निष्पादित करने का प्रयास कर रहे हैं । इस उपयोग के लिए निर्देशिका निर्दिष्ट करने की आवश्यकता है। वैकल्पिक रूप से, आप कोशिश कर सकते हैं bash filename.shजो अनिर्दिष्ट निर्देशिका के साथ काम करता है।
फ़ाइल को निष्पादन योग्य बनाने के दो तरीके हैं:
जीयूआई विधि:
अनुमतियाँ टैब पर जाएं, फिर बॉक्स को टिक करें `निष्पादित करें: [] प्रोग्राम के रूप में फ़ाइल निष्पादित करने की अनुमति दें।

टर्मिनल / कमांड विधि:
आप या तो उपयोग कर सकते हैं:
cd /to/my/required/directory
तो भागो
chmod +x filename.extension
या बस चलाएं:
chmod +x /path/to/your/filename.extension
chmod कुछ और उन्नत विकल्प भी हैं:
रिक्त स्थान यह दिखाने के लिए हैं कि यह विभाजित है: - rwx --- ---
---उपयोगकर्ता का पहला सेट है। दूसरा समूह है और अंतिम अन्य (कोई भी) है
r का अर्थ है रीड, w फॉर राइट और x फॉर eXecute।
इसलिए सभी को इसे पढ़ने की अनुमति देने के लिए, लेकिन केवल समूह को निष्पादित करने के लिए और उपयोगकर्ता को पढ़ने और इसे लिखने के लिए (लेकिन किसी कारण से निष्पादित नहीं किया जाएगा:
-rw- rx- r-- लेकिन इसे कमांड के रूप में जोड़ा जाएगा:
chmod +rw-rx-r-- /path/to/file.extension
chmodसंख्या में भी ऐसा कर सकते हैं। यह बाइनरी पर आधारित है (मुझे लगता है, क्योंकि यह 1,2 और 4 है)
तो ये संख्याएँ हैं:
निष्पादित उपयोगकर्ता के द्वारा 100। निष्पादित समूह है द्वारा 010। अन्य द्वारा निष्पादित 001 है
उपयोगकर्ता द्वारा लिखें है 200। समूह द्वारा लिखें है 020। अन्य द्वारा लिखें है 002।
उपयोगकर्ता द्वारा पढ़ा जाता है 400। समूह द्वारा पढ़ा जाता है 040। द्वारा पढ़ें अन्य है 004।
फिर आप वांछित संयोजन प्राप्त करने के लिए इन्हें एक साथ जोड़ते हैं।
इसलिए सभी को इसे पढ़ने की अनुमति देने के लिए, लेकिन केवल समूह को निष्पादित करने के लिए और उपयोगकर्ता को इसे लिखने के लिए (लेकिन किसी कारण से निष्पादित नहीं होने के लिए) होगा:
400 + 040 + 004और 010और200
जो 600 + 050 + 004 = 654 तक जोड़ता है।
फिर आप कमांड चला सकते हैं।
chmod +654 /path/to/file.extension इसे सेट करने के लिए।
और सभी अनुमतियाँ सेट करने के लिए आप टाइप कर सकते हैं:
chmod +rwxrwxrwx /path/to/file.extension
या (यह लिखना थोड़ा आसान है, लेकिन हर एक को याद रखना कठिन है):
chmod +777 /path/to/file.extension
अंत में, आप कर सकते हैं:
chmod -777 /path/to/file.extension
सभी अनुमतियों को सभी से दूर ले जाने के लिए।
तथा:
chmod +300 /path/to/file.extension
किसी भी अन्य अनुमतियों को प्रभावित किए बिना, उपयोगकर्ता के लिए पढ़ने और लिखने को जोड़ने के लिए (जैसे निष्पादित अनुमतियाँ)।
इस वेबसाइट में एक बहुत उपयोगी छोटी ग्रिड चेकबॉक्स चीज़ है, जिससे आप अपने इच्छित विकल्पों पर टिक कर सकते हैं और यह आपको कमांड देता है:

हालांकि, सभी संभव संयोजनों का उपयोग करने के लिए समझदार नहीं हैं; जो मुख्य उपयोग किए जाते हैं वे निम्नलिखित हैं:
755 - Ownerसब है, और Groupऔर Otherपढ़ सकते हैं और निष्पादित कर सकते हैं
700 - Ownerसभी है
644 - Ownerपढ़ सकते हैं और लिखते हैं, और Groupऔर Otherपढ़ सकते हैं
600 - Ownerपढ़ और लिख सकते हैं
और, यदि आप गैर-तुच्छ उपयोगकर्ता समूहों का उपयोग कर रहे हैं:
775 - Ownerपढ़ सकते हैं और लिखते हैं, और Groupऔर Otherपढ़ सकते हैं
770 - Ownerऔर Groupसभी के पास है, और Otherपढ़ सकते हैं और निष्पादित कर सकते हैं
750 - Ownerसब है, और Groupपढ़ सकते हैं और निष्पादित कर सकते हैं
664 - Ownerऔर Groupपढ़ सकते हैं और लिख सकते हैं, और Otherबस पढ़ सकते हैं
660 - Ownerऔर Groupपढ़ और लिख सकते हैं
640 - Ownerपढ़ सकते हैं और लिख Groupसकते हैं , और पढ़ सकते हैं
777 और 666 का उपयोग शायद ही कभी किया जाता है, सिवाय / tmp के।
सामान्य उपयोग में लोगों को इंगित करने के लिए धन्यवाद इल्मरी करोनन !