मैं बैश स्क्रिप्टिंग में एक शुरुआत कर रहा हूं। मैं स्वचालित रूप से अपने लिनक्स बॉक्स पर स्थापित और कॉन्फ़िगर सामान को स्थापित करने के लिए एक बैश स्क्रिप्ट बनाना चाहता हूं।
मान लीजिए मैं संपादित करना चाहता हूं
/etc/yum.repos.d/epel.repo
बैश स्क्रिप्ट द्वारा
जो मैं करना चाहता हूं वह इस प्रकार है
- फ़ाइल खोलें /etc/yum.repos.d/epel.repo
- [एपेल] अनुभाग खोजें
- एक लाइन प्राथमिकता = 10 को लाइन से सक्षम करने के बाद = एपेल सेक्शन में 1 जोड़ें
पहले भाग के लिए मैंने जोड़ा
yum install nano
nano /etc/yum.repos.d/epel.repo
मेरा प्रश्न है कि नैनो का उपयोग करके बश लिपि के साथ 2 और तीसरा भाग कैसे करें (यदि संभव हो तो, यदि संभव न हो तो मुझे मेरे साथ दिखाए)
इसके अलावा कुछ बिंदुओं पर मुझे उदाहरण के लिए फ़ाइलों में चर को संशोधित करना होगा
- enable = 0 को enable करने के लिए = 1
- परीक्षण = "1" से परीक्षण = "0"
- एक पंक्ति में पाठ जोड़ें। फ़ंक्शन = फ़ंक्शन के लिए = "text1", "text2"
- एक फ़ाइल में कुछ पाठ जोड़ें और इसे सहेजें (नैनो के साथ)
मुझे इसकी मांग पता है, लेकिन मुझे एक दोस्त के लिए इसे बनाने की आवश्यकता है जो सर्वर प्रबंधन में noob है। दुर्भाग्य से, मेरे पास परीक्षा से शुरू होने के रूप में bash scripting का अध्ययन करने का समय नहीं है। मैं पटकथा लिखने के लिए अपने उदाहरणों का उपयोग करूंगा।
दोस्तों सभी उत्तरों के लिए धन्यवाद, मैंने अधिकांश बैश स्क्रिप्ट को सफलतापूर्वक किया है
हालाँकि, मुझे एक और समस्या है कि मान लें कि मैं nginx.conf को संशोधित करना चाहता हूँ sed का उपयोग करते हुए हम कार्यकर्ता_प्रोसेस के साथ व्यवहार करेंगे।
अब मैं निम्नलिखित के लिए sed का उपयोग करना चाहता हूं। उस संदर्भ में पहली घटना को पूरा करें worker_processes
और पाठ को प्रतिस्थापित करेंworker_processes 4;
विशेष नोट यहां: यह केवल एक उदाहरण है। ऐसा हो सकता है कि conf में कार्यकर्ता_प्रोसेस 1 हो; । यह कठिन हिस्सा है। मुझे एक sed कमांड चाहिए जो शब्द कार्यकर्ता_प्रोसेस के FIRST wHOLE मैच केस को ढूंढती है , टेक्स्ट की लाइन हटाएं जहां शब्द पाया जाता है और worker_processes 4;
वहां पेस्ट करें और फिर फाइल सेव करें। यह सबसे विश्वसनीय तरीका है, हालांकि मैं फ़ाइलों को संपादित करते समय (बिना किसी आत्मविश्वास के बिना जोखिम के संपादन करता हूं
एक अंतिम सुझाव मैंने sed -i / s / enable = 0 / enable = 1 / g '/etc/yum.repos.d/remi.repo का उपयोग किया, ताकि remi में [रेमी] अनुभाग के तहत सक्षम = 0 सक्षम किया जा सके .repo। जब भी मुझे लगता है कि यह उस फ़ाइल में सभी सक्षम = 0 को संशोधित कर सकता है, जो सर्वर को मिटा देगा। कोई भी बेहतर कोड सुझा सकता है।
एक और सामान जो मुझे निश्चित नहीं है: पीआई एक फाइल को संपादित करना चाहता है जिसमें यह टेक्स्ट टेस्टिंग = "0" के रूप में है (हां इसमें उद्धरण हैं और मुझे इसे रखने की आवश्यकता है) इसे परीक्षण = "0" से परीक्षण = " 1 "(उद्धरण के साथ)
इसके अलावा, मुझे फ़ाइल के अंत में उद्धरण के साथ कुछ पाठ जोड़ने की आवश्यकता है जैसे कि "थैंक्स क्वांटा" (उद्धरण के साथ) जैसे php के लिए आप एको को उद्धरणों के साथ डालते हैं, यह नहीं जानते कि यह कैसे किया जाता है
एक और बात
मुझे एक लाइन को एक संशोधित करने की आवश्यकता है, लेकिन मुझे याद नहीं है कि प्रतिस्थापित करने के लिए संपूर्ण पाठ क्या है
जैसे इसकी सुन = कुछ; , मैं इसे सुनने के लिए संशोधित करना चाहता हूं = /tmp/php5-fpm.sock;
क्वांटा के लिए बड़े अंगूठे
भयानक समर्थन दोस्तों के लिए धन्यवाद