सिग्विन लापता सूडो


0

मैं cygwin का उपयोग करके अपने विंडोज मशीन पर एक लिनक्स स्क्रिप्ट चलाने की कोशिश कर रहा हूं।

मैंने पहले ही Cygwin में कोई 'sudo' कमांड नहीं , बिना किसी सफलता के समाधानों को पढ़ा और आजमाया है ।

मेरे पास एक स्क्रिप्ट है जो नियमित लिनक्स वातावरण में sudo का उपयोग करती है। लेकिन जब मैं cygwin पर स्कोर चलाता हूं, तो यह त्रुटि संदेश फेंकता है:

project_common.sh: line 604: sudo: command not found

मुझे पता है कि साइबरविन में सूडो नहीं है, और पहले उल्लेखित संदर्भित प्रश्न का उपयोग करने के लिए कहा गया है:

>#!/usr/bin/bash
>"$@"

मैंने स्क्रिप्ट चलाने से पहले उस कमांड को निष्पादित करने की कोशिश की। और स्क्रिप्ट में कमांड को एम्बेड करना। न ही एक मदद। तो निश्चित नहीं कि मैं क्या याद कर रहा हूं।

जवाबों:


4

sudoफ़ाइल में कोई भी निकालें और स्क्रिप्ट को व्यवस्थापक के रूप में चलाएं।

कहा जा रहा है कि, लिनक्स के विचार rootऔर प्रशासक के विंडोज विचार बिल्कुल मेल नहीं खाते हैं। आपके पास अभी भी अनुमति समस्याएँ हो सकती हैं जिन्हें मैन्युअल रूप से ठीक करने या स्क्रिप्ट को और अधिक संशोधित करने की आवश्यकता है, विशेष रूप से विंडोज विस्टा / 7 पर।

वैसे, संदर्भित प्रश्न आप रखना चाहते थे

>#!/usr/bin/bash
>"$@"

नाम की एक फ़ाइल में sudo, इसे निष्पादन योग्य अनुमति दें chmod, और फिर इसे कुछ निर्देशिकाओं में डालें $PATH, जैसे कि /sbin। परिणामी फ़ाइल आपको कमांड के रूप में दिए गए पैरामाटर्स को निष्पादित करने के अलावा कुछ भी नहीं करेगी। विचार "नकली" सूडो बनाने के लिए था जो कुछ भी नहीं करता है। आप sudoफ़ाइल से बस हटा भी सकते हैं ।


Thats वास्तव में सही जवाब नहीं है। यह लगभग यह कहने जैसा है कि, Microsoft Office में कोई प्रतिलिपि कमांड नहीं है, MS Office को फिर से लिखें।
चुर्क

1
नहीं, यह दिए गए ऑपरेटिंग सिस्टम ए और बी कहने की तरह है, और क्षमता सी जो ए के तहत एक तरह से काम करती है और बी के तहत एक अलग तरह से काम करती है, कि आपकी स्क्रिप्ट जिसे ए और बी के तहत चलाया जा सकता है, को अंतर के लिए फिर से लिखना पड़ सकता है। सी। का कार्यान्वयन
लॉरेंस

1
sudoजब आप अनिवार्य रूप से शेल के सुपरयूज़र होते हैं, तो आप साइबरविन में नहीं होते हैं, जब आप प्रशासक के रूप में "साइबरगन" चलाते हैं। दूसरे शब्दों में, आपकी समस्या साइबर के साथ नहीं है, यह विंडोज़ में आपकी फ़ाइल अनुमतियों के साथ है।
kevlar1818

0

इसे इस्तेमाल करे:

#!/usr/bin/env bash

cygstart --action=runas "$@"

यह सूडो के समान काम करता है, नुकसान यह है कि आपको मैन्युअल रूप से यूएसी संवाद की पुष्टि करने की आवश्यकता है। यह स्क्रिप्ट मेरे डॉट रेपो का हिस्सा है ।


0

Stackoverflow और Superuser पर अन्य उत्तर हैं जो दिखाता है कि Cygwin प्रॉम्प्ट से एलिवेटेड प्राइवेटिलिग्स के साथ कमांड को कैसे निष्पादित किया जाए। मैं एक उपनाम का उपयोग कर रहा हूं:

alias sudo="cygstart --action=runas"

बाहरी कार्यक्रमों के लिए एक आकर्षण के रूप में काम करता है (शेल निर्मित नहीं है, हालांकि):

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