मैं कुछ बहुत ही सरल स्क्रिप्ट को निष्पादित करने की कोशिश कर रहा हूं।। विंडोज़ के तहत, लेकिन मैं वास्तव में नहीं कर सकता। मैं स्क्रिप्टिंग और बाबुन के बारे में पूरी तरह से शुरुआत करता हूं, इसलिए मैं अपनी समस्या को समझाने की कोशिश करता हूं।
मेरे पास 2 फाइलें हैं और मुझे उन्हें कमांड सेड के साथ हेरफेर करने की आवश्यकता है।
कमांड इनपुट हैं:
cd /cygdrive/c/ProgramData/ServerCare/WebGrab_01/
sed -i "15s|.*| <filename>C:\\\ProgramData\\\ServerCare\\\data\\\xml\\\guide_01.xml</filename>|" WebGrab++.config.xml
cd /cygdrive/c/ProgramData/ServerCare/WebGrab_02/
sed -i "15s|.*| <filename>C:\\\ProgramData\\\ServerCare\\\data\\\xml\\\guide_02.xml</filename>|" WebGrab++.config.xml
cd /cygdrive/c/ProgramData/ServerCare/WebGrab_01/
sed -i '/<!--02-->/,/<!--19-->/d' WebGrab++.config.xml
cd /cygdrive/c/ProgramData/ServerCare/WebGrab_02/
sed -i '/<!--01-->/,/<!--02-->/d' WebGrab++.config.xml
sed -i '/<!--03-->/,/<!--19-->/d' WebGrab++.config.xml
यह भेजना एक-एक करके सब कुछ ठीक है।
अगर मैं एक ही फाइल में एक ही कमांड जोड़ता हूं। कुछ भी ठीक नहीं है। शेल पर, जब मैं अपने द्वारा बनाई गई फ़ाइल को निष्पादित करता हूं, तो मैं अपने द्वारा उपयोग किए जा रहे सभी पथ को गलत तरीके से पढ़ सकता हूं। अगर मैं एक-एक करके आज्ञाओं को दोपहर का भोजन करता हूं तो सब कुछ ठीक है और अगर मैं एक स्क्रिप्ट को दोपहर का भोजन करता हूं तो नहीं?
यह वह फाइल है जिसे मैंने cygwin.sh बनाया है
#!/bin/bash
cd /cygdrive/c/ProgramData/ServerCare/WebGrab_01/
sed -i "15s|.*| <filename>C:\\\ProgramData\\\ServerCare\\\data\\\xml\\\guide_01.xml</filename>|" WebGrab++.config.xml
cd /cygdrive/c/ProgramData/ServerCare/WebGrab_02/
sed -i "15s|.*| <filename>C:\\\ProgramData\\\ServerCare\\\data\\\xml\\\guide_02.xml</filename>|" WebGrab++.config.xml
cd /cygdrive/c/ProgramData/ServerCare/WebGrab_01/
sed -i '/<!--02-->/,/<!--19-->/d' WebGrab++.config.xml
cd /cygdrive/c/ProgramData/ServerCare/WebGrab_02/
sed -i '/<!--01-->/,/<!--02-->/d' WebGrab++.config.xml
sed -i '/<!--03-->/,/<!--19-->/d' WebGrab++.config.xml
त्रुटियों मैं पुनरावृत्ति:
{ bash } » ./cygwin.sh
/cygdrive/c/ProgramData/ServerCare/data/bash
./cygwin.sh: line 2: $'\r': command not found
: No such file or directoryygdrive/c/ProgramData/ServerCare/WebGrab_01/
: No such file or directoryonfig.xml
: No such file or directoryygdrive/c/ProgramData/ServerCare/WebGrab_02/
: No such file or directoryonfig.xml
: No such file or directoryygdrive/c/ProgramData/ServerCare/WebGrab_01/
: No such file or directoryonfig.xml
: No such file or directoryygdrive/c/ProgramData/ServerCare/WebGrab_02/
: No such file or directoryonfig.xml
sed: can't read WebGrab++.config.xml: No such file or directory
इसके अलावा, मुझे दिन में 2 बार फ़ाइलों को संपादित करने की आवश्यकता है, क्या फ़ाइल को लंच करने का एक तरीका है। एस और इसे शेलुन के अंदर निष्पादित करना है? मैं इसे लंच करने का तरीका विंडोज 7 के तहत स्वचालित रूप से जानता हूं, लेकिन वैकल्पिक शेल को संबद्ध करने का तरीका नहीं। अगर मैं फ़ाइल को दोपहर का भोजन करता हूं।
हर किसी की सलाह में धन्यवाद मुझे जवाब दे सकता है :)
एडिट के बारे में मेरी मदद करने के लिए धन्यवाद डेविडपोस्टिल।