2009-07-08 12 views
19

से बैश स्क्रिप्ट चलाएं सिगविन में, मैं बस कर सकता हूं ./script.sh तर्क देता है, लेकिन यह पॉवरशेल में नोटपैड में स्क्रिप्ट फ़ाइल खोलता है।विंडोज पावरशेल

मुझे इसे निष्पादित करने की क्या ज़रूरत है?

+1

मैं सोच रहा हूँ कि आप एक * nix-ish स्क्रिप्ट PowerShell में चलाने के लिए उम्मीद ... वे पूरी तरह से अलग आदेश सेट और पटकथा वाक्य रचना है (यह भी, powershell स्क्रिप्ट एक .ps1 विस्तार AFAIK की आवश्यकता होती है)। आप बैश स्क्रिप्ट पोस्ट कर सकते हैं और कोई भी पावरहेल संस्करण के साथ आपकी सहायता करने में सक्षम हो सकता है। –

+0

क्योंकि: यह काम करता है। स्वीकृत उत्तर देखें। – wsorenson

+2

मुझे प्रबुद्ध है :) –

उत्तर

15

आप एक * NIX के लिए तर्क के रूप में स्क्रिप्ट रखना चाहिए शेल आप चलाने के लिए, * NIXish

sh myscriptfile 
+1

sh ./script.sh काम करता है। – wsorenson

+9

वास्तव में? मुझे लगता है कि शब्द 'sh' को cmdlet, function, script file, या ऑपरेट करने योग्य प्रोग्राम के नाम के रूप में पहचाना नहीं गया है। – KCD

+19

स्वीकार्य उत्तर में एक चेतावनी यह है कि 'sh' को वेनिला पावरहेल में शामिल नहीं किया गया है। मुझे गिट स्थापित करना पड़ा, जो वैकल्पिक रूप से कुछ यूनिक्स उपकरण को पावरहेल में 'पथ' में जोड़ता है, 'sh.exe' उनमें से एक है। – peplin

4

आप वातावरण चर PATHEXT को विस्तार .SH जोड़ते हैं तो आप खोल चलाने के लिए सक्षम हो जाएगा के बराबर PowerShell स्क्रिप्ट केवल तर्क के साथ स्क्रिप्ट नाम का उपयोग करके:

PS> .\script.sh args 

यदि आप एक निर्देशिका है कि अपने पथ वातावरण चर में शामिल है में अपनी स्क्रिप्ट की दुकान, आप इसे कहीं से भी चला सकते हैं, और विस्तार और पथ को छोड़ देते हैं:

PS> script args 

नोट: sh.exe या अन्य * nix shell .sh एक्सटेंशन से संबद्ध होना चाहिए।

+0

गैर-पावरशेल उपयोगकर्ताओं के लिए ऐसा करने के लिए, PowerPhell 'PATH' को सही तरीके से कैसे अपडेट किया जाता है परिवर्तनीय? –

+1

पावरहेल उसी पर्यावरण चर का उपयोग करता है जो अन्य सभी प्रोग्राम उपयोग करते हैं।यदि आप विंडोज़ स्टार्ट मेनू में "सिस्टम एनवायरनमेंट" टाइप करते हैं, तो आपको पर्यावरण चर संपादन के लिए एक कंट्रोल पैनल विकल्प देखना चाहिए। – Rynant

11

अब है Windows 10 पर एक "मूल" समाधान, विंडोज पर बैश को सक्षम करने के बाद, आप bash टाइप करके बैश खोल दर्ज कर सकते हैं: Bash on Windows

आप bash ./script.sh तरह बैश स्क्रिप्ट चला सकते हैं, लेकिन ध्यान रखें कि सी ड्राइव /mnt/c पर स्थित है, और बाहरी हार्ड ड्राइव आरोही नहीं हैं। तो आपको अपनी स्क्रिप्ट को थोड़ा सा बदलना पड़ सकता है ताकि यह विंडोज के अनुकूल हो।

इसके अलावा, भले root के रूप में, आप अभी भी अनुमति नहीं दी प्राप्त कर सकते हैं जब /mnt में चारों ओर फ़ाइलों को ले, लेकिन आप / फाइल सिस्टम में अपना पूरा root शक्ति है।

यह भी सुनिश्चित करें कि आपकी शैल स्क्रिप्ट यूनिक्स शैली के साथ स्वरूपित है, या त्रुटियां हो सकती हैं। Example script

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