थर्ड-पार्टी एप्लिकेशन से विंडोज पर उबंटू पर बैश कैसे लॉन्च करें?


3

मैंने उबंटू पर उबटन के लिए लिनक्स (डब्लूएसएल) के लिए विंडोज सबसिस्टम स्थापित किया है ताकि विंडोज पर बश में किया जा सके ("बाश" के संक्षिप्त रूप में।) cmd.exeमैं रन मेनू से bash -c gcc --versionउपयोग कर सकते हैं और साथ ही साथ मैं भी चला सकता हूं cmd -k bash -c gcc --version। हालाँकि, मैंने देखा कि मैं उसी आदेश को तृतीय-पक्ष अनुप्रयोगों, जैसे उदात्त पाठ या एटम से नहीं चला सकता।

उदात्त पाठ के लिए निम्नलिखित बिल्ड सिस्टम पर विचार करें और फिलहाल, इस तथ्य को अनदेखा करें कि यह कुछ भी नहीं बनाएगा:

{
  "cmd": [ "bash", "-c" "gcc", "--version" ],
  "working_dir": "${project_path:${folder}}",
  "selector" : "source.c"
}

बिल्ड कमांड चलाने से परिणाम होगा Error: 0x80070057cmd.exeसक्षम के लिए विरासत मोड के साथ , त्रुटि पढ़ता हैUnsupported console settings. In order to use this feature the legacy mode must be disabled.

अन्य बातों के अलावा, मैंने पहले ही इसे काम करने की कोशिश की:

  1. bash.exeजैसे, के लिए पूर्ण पथ का उपयोग करना%SystemRoot%\System32\bash.exe

  2. बिल्ड टूल (सामग्री:) में बैच फ़ाइल चलाएँ bash -c gcc --version। विशेष रूप से, बैच फ़ाइल तब चलती है जब से चलती हैcmd.exe

  3. निर्माण कमांड को बदलें [ "cmd", "/k", "bash", "-c" "gcc", "--version"]

  4. "shell": trueमेरी बिल्ड फ़ाइल में जोड़ें

कई बार त्रुटि में परिवर्तन होता है "[बैश] को आंतरिक या बाहरी कमांड के रूप में मान्यता नहीं दी जाती है", भले ही C:\Windows\System32वह मेरे रास्ते में हो।

क्या कोई सीमा है कि बैश केवल से लॉन्च किया जा सकता है cmd.exe? क्या कोई वर्कअराउंड है जो मुझे batchउदात्त पाठ से लॉन्च करने की अनुमति देगा ?


क्या आपने cmd के लिए विरासत मोड को अक्षम कर दिया है? आप शीर्ष उत्तर की टिप्पणियों में विरासत मोड को अक्षम करने का तरीका देख सकते हैं ।
DrZoo

युगल विचार ... cmdलाइन को बदलने का प्रयास करें "cmd": [ "cmd.exe", "-k", "bash -c gcc --version" ], और / या जोड़ने का प्रयास करें shell: true
Ƭᴇc atιᴇ007

आपके सुझावों के लिए धन्यवाद, मैंने पहले ही ये कोशिश की (जैसा कि प्रश्न में उल्लेख किया गया है)। मैंने अपनी पोस्ट को संपादित किया और अपने अन्य प्रयासों को एक गिने सूची में रखा, जो अधिक सुपाठ्य होना चाहिए।
आइडलबर्ग

जवाबों:



0

मेरा यह परीक्षण करने के लिए आपका वातावरण नहीं है, लेकिन मैं "bash.exe" के साथ "बैश" को बदलने का सुझाव देता हूं। Windows cmd.exe कमांड को bash.exe कमांड निष्पादित करने के लिए .exe प्रत्यय की आवश्यकता होती है। WSL कमांड / usr / bin / bash विंडोज कमांड C: \ Windows \ System32 \ bash.exe जैसी कमांड नहीं है।

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