भले ही आप जानते हैं कि आप क्या कर रहे हैं, यह उतना आसान नहीं है जितना लगता है। विंडोज और यूनिक्स अलग-अलग अंतराल वर्णों का उपयोग करते हैं, और विंडोज फ़ाइल सिस्टम बैश पर्यावरण में किसी दूसरे स्थान पर पहुंच योग्य है।
विंडोज 10 पर बैश स्क्रिप्ट कैसे लिखें
विंडोज़ पर शेल स्क्रिप्ट लिखते समय, ध्यान रखें कि लिनक्स जैसे विंडोज और यूनिक्स जैसे सिस्टम शैल स्क्रिप्ट में टेक्स्ट फाइलों में अलग-अलग "रेखा के अंत" वर्णों का उपयोग करते हैं।
दूसरे शब्दों में, इसका मतलब है कि आप नोटपैड में केवल एक शेल स्क्रिप्ट नहीं लिख सकते हैं। फ़ाइल को नोटपैड में सहेजें और बैश द्वारा इसका ठीक से व्याख्या नहीं किया जाएगा। हालांकि, आप अधिक उन्नत टेक्स्ट संपादकों का उपयोग कर सकते हैं-उदाहरण के लिए, नोटपैड ++ आपको संपादन> ईओएल रूपांतरण> यूनिक्स / ओएसएक्स प्रारूप पर क्लिक करके यूनिक्स एंड-ऑफ़-लाइन वर्ण फ़ाइल करने की अनुमति देता है।
उदाहरण के लिए, नैनो में एक बैश स्क्रिप्ट बनाने के लिए, आप निम्न आदेश को बैश में चलाएंगे:
nano ~/myscript.sh
यह नैनो टेक्स्ट एडिटर को आपके उपयोगकर्ता खाते की होम निर्देशिका में "myscript.sh" नाम की एक फ़ाइल पर इंगित करेगा। ("~" वर्ण आपकी होम निर्देशिका का प्रतिनिधित्व करता है, इसलिए पूरा पथ /home/username/myscript.sh है।)
#!/bin/bash
उन आदेशों को दर्ज करें जिन्हें आप चलाने के लिए चाहते हैं, प्रत्येक अपनी लाइन पर। लिपि बदले में प्रत्येक कमांड चलाएगी। इसे "टिप्पणी" के रूप में पेश करने के लिए लाइन से पहले एक "#" वर्ण जोड़ें, जो आपको और अन्य लोगों को स्क्रिप्ट को समझने में मदद करता है लेकिन जो कमांड के रूप में नहीं चलाया जाता है। अधिक उन्नत चाल के लिए, लिनक्स पर बैश स्क्रिप्ट के लिए एक और विस्तृत मार्गदर्शिका से परामर्श लें। विंडोज़ पर उबंटू पर बैश में भी यही तकनीक काम करेगी।
ध्यान दें कि बैश पर्यावरण के भीतर से विंडोज प्रोग्राम चलाने का कोई तरीका नहीं है। आप लिनक्स टर्मिनल कमांड और यूटिलिटीज तक ही सीमित हैं, जैसे आप एक सामान्य लिनक्स सिस्टम पर होंगे।
उदाहरण के लिए, आइए यहां एक उदाहरण के रूप में मूल "हैलो वर्ल्ड" स्क्रिप्ट का उपयोग करें:
#!/bin/bash # set the STRING variable STRING='Hello World!' # print the contents of the variable on screen echo $STRING
यदि आप नैनो टेक्स्ट एडिटर का उपयोग कर रहे हैं, तो आप Ctrl + O दबाकर फ़ाइल दर्ज कर सकते हैं और फिर एंटर कर सकते हैं। Ctrl + X दबाकर संपादक को बंद करें।
स्क्रिप्ट निष्पादन योग्य बनाएं और फिर इसे चलाएं
आप शायद स्क्रिप्ट को निष्पादन योग्य बनाना चाहते हैं ताकि आप इसे अधिक आसानी से चला सकें। लिनक्स पर, इसका मतलब है कि आपको स्क्रिप्ट फ़ाइल निष्पादन योग्य अनुमति देने की आवश्यकता है। ऐसा करने के लिए, टर्मिनल में निम्न आदेश चलाएं, इसे अपनी स्क्रिप्ट पर इंगित करें:
chmod +x ~/myscript.sh
~/myscript.sh
(यदि स्क्रिप्ट वर्तमान निर्देशिका में है, तो आप इसे./myscript.sh के साथ चला सकते हैं)
बैश स्क्रिप्ट में विंडोज फाइलों के साथ कैसे काम करें
स्क्रिप्ट में विंडोज फ़ाइलों तक पहुंचने के लिए, आपको अपने पथ को / mnt / c के तहत निर्दिष्ट करना होगा, न कि उनके विंडोज पथ। उदाहरण के लिए, यदि आप सी: उपयोगकर्ता बॉब डाउनलोड test.txt फ़ाइल निर्दिष्ट करना चाहते हैं, तो आपको / mnt/c/Users/Bob/Downloads/test.txt पथ निर्दिष्ट करना होगा। अधिक जानकारी के लिए विंडोज 10 के बैश खोल में फाइल स्थानों के लिए हमारी मार्गदर्शिका से परामर्श लें।
बैच कमांड को बैच या पावरशेल स्क्रिप्ट में कैसे शामिल करें
अंत में, यदि आपके पास मौजूदा बैच फ़ाइल या पावरशेल स्क्रिप्ट है जिसमें आप कमांड को शामिल करना चाहते हैं, तो आप सीधे बैश कमांड चला सकते हैं
bash -c
आदेश।
उदाहरण के लिए, कमांड प्रॉम्प्ट या पावरशेल विंडो में लिनक्स कमांड चलाने के लिए, आप निम्न आदेश चला सकते हैं:
bash -c 'command'
यह चाल आपको बैच कमांड को बैच फ़ाइलों या पावरशेल स्क्रिप्ट में जोड़ने की अनुमति देती है। बैश कमांड चलने पर बैश खोल विंडो दिखाई देगी।
अद्यतन करें: यदि आपके पास एकाधिक लिनक्स वातावरण स्थापित हैं, तो आप चलाने के दौरान उपयोग किए जाने वाले डिफ़ॉल्ट लिनक्स वातावरण का चयन करने के लिए wslconfig कमांड का उपयोग कर सकते हैं
bash -c
आदेश।
विंडोज के भीतर से एक बैश स्क्रिप्ट के लिए शॉर्टकट बनाने के लिए, बस सामान्य की तरह एक शॉर्टकट बनाएं। शॉर्टकट के लक्ष्य के लिए, का उपयोग करें
bash -c
कमांड जिसे हमने ऊपर उल्लिखित किया है और इसे आपके द्वारा बनाई गई बैश स्क्रिप्ट पर इंगित करें।
उदाहरण के लिए, आप एक शॉर्टकट को"
bash -c '~/myscript.sh'
उपरोक्त उदाहरण स्क्रिप्ट चलाने के लिए। आप कमांड प्रॉम्प्ट या पावरशेल विंडो से भी इस कमांड को चला सकते हैं।