मेरे पास एक 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 के।
सामान्य उपयोग में लोगों को इंगित करने के लिए धन्यवाद इल्मरी करोनन !