2012-05-02 7 views
7

मैं एक bash स्क्रिप्ट wget का उपयोग करें और इस तरह से पार्टी के साथ इसके उत्पादन को चलाने के लिए है जो बनाना चाहते भेजें:wget फ़ाइल और इसे पार्टी की योजना बनाई

wget -q -O - http://pastebin.com/raw.php?i=VURksJnn | bash 

pastebin फ़ाइल, एक परीक्षण स्क्रिप्ट है, लेकिन यह शो आदेश मैं: "अज्ञात आदेश" (शायद नई लाइनों के कारण) और "फ़ाइल का अप्रत्याशित अंत", और मुझे नहीं पता क्यों।

मैं कुछ याद आ रही है?

उत्तर

5

आपकी स्क्रिप्ट में डॉस लाइन-एंडिंग है।

आप यूनिक्स लाइन अंत करने के लिए लाइन अंत में परिवर्तित करते हैं, तो यह ठीक चलाता है:

$ tr -d '\r' <raw.php\?i\=VURksJnn> script 
$ cat script | bash 
Test script 
You're not root 
End test 
$ 
+2

सरनाल्ड सही है। 'wget -q -O - "http://pastebin.com/raw.php?i=VURKSJnn" | डॉस 2unix | बाश 'मेरे लिए ठीक काम करता है। आउटपुट ' टेस्ट स्क्रिप्ट आप रूट नहीं हैं एंड टेस्ट ' – dpp

+1

आप अभी भी इसे एक बार में कर सकते हैं: 'curl http://script.foo | tr -d '\ r' | bash' (या 'wget .. -O -') – c00kiemon5ter

+2

हाँ, लेकिन मैं इसे पहले पढ़ने के बिना किसी और से कुछ निष्पादित करने वाला नहीं हूं। इसलिए मेरे अतिरिक्त कदम। :) – sarnold

-1

आप डाउनलोड की बचत कर सकते हैं के साथ शुरू करने के लिए, , फ़ाइल स्थानीय तौर पर और बैश फ़ाइल नाम के रूप में चलाने wgeted। Coz निम्नलिखित मेरे लिए काम करता है बिल्ली - | bash

+0

धन्यवाद लेकिन सवाल स्क्रिप्ट को पाइप करने के बारे में था, भले ही इसका स्पष्ट रूप से उल्लेख नहीं किया गया हो। – Max13

संबंधित मुद्दे