बाबून (साइबर) और .sh फाइलें। क्या गलत है?


0

मैं कुछ बहुत ही सरल स्क्रिप्ट को निष्पादित करने की कोशिश कर रहा हूं।। विंडोज़ के तहत, लेकिन मैं वास्तव में नहीं कर सकता। मैं स्क्रिप्टिंग और बाबुन के बारे में पूरी तरह से शुरुआत करता हूं, इसलिए मैं अपनी समस्या को समझाने की कोशिश करता हूं।

मेरे पास 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 के तहत स्वचालित रूप से जानता हूं, लेकिन वैकल्पिक शेल को संबद्ध करने का तरीका नहीं। अगर मैं फ़ाइल को दोपहर का भोजन करता हूं।

हर किसी की सलाह में धन्यवाद मुझे जवाब दे सकता है :)

एडिट के बारे में मेरी मदद करने के लिए धन्यवाद डेविडपोस्टिल।


1
जब आप अपने द्वारा चलाए जा रहे कमांड्स और शेल फ़ाइल को शामिल नहीं करते हैं, तो हम आपकी मदद कैसे करेंगे? कृपया इस महत्वपूर्ण लापता जानकारी को शामिल करने के लिए अपने प्रश्न को संपादित करें। किसी भी त्रुटि संदेश को शामिल करने के लिए मत भूलना।
DavidPostill

जवाबों:


0

संकेत यहाँ है:

./cygwin.sh: पंक्ति 2: $ '\ r': कमांड नहीं मिला

फ़ाइल को CRLF लाइन समाप्ति से LF में केवल समाप्ति के साथ परिवर्तित करें

d2u ./cygwin.sh 

Cygwin पर d2uआदेश पैकेज dos2unix-7.3.4-1 अंतर्गत आता है, मैं भी यह करना चाहिए था babun यह मानें कि।


वास्तव में आपको धन्यवाद। यह बहुत अच्छा काम कर रहा है! क्या आप भी जानते हैं कि एक .bat फ़ाइल या दोपहर के भोजन के समान बनाने का तरीका स्वचालित रूप से फ़ाइल Babgun के अंदर cygwin.sh है?
तापीकोपियोका

मैं बाबुन का उपयोग नहीं करता। बस वेनिला
साइग्विन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.