मेरे पास एक स्क्रिप्ट है जो कई अलग-अलग चीजों को करती है, जिनमें से अधिकांश को किसी विशेष विशेषाधिकार की आवश्यकता नहीं है। हालांकि, एक विशिष्ट खंड, जिसे मैंने एक फ़ंक्शन के भीतर समाहित किया है, को रूट विशेषाधिकारों की आवश्यकता है।
मुझे पूरी स्क्रिप्ट को रूट के रूप में चलाने की आवश्यकता नहीं है, और मैं इस फ़ंक्शन को रूट विशेषाधिकारों के साथ स्क्रिप्ट के भीतर से कॉल करने में सक्षम होना चाहता हूं। एक पासवर्ड के लिए संकेत देना यदि आवश्यक हो तो कोई समस्या नहीं है क्योंकि यह वैसे भी ज्यादातर इंटरैक्टिव है। हालांकि, जब मैं उपयोग करने की कोशिश करता sudo functionxहूं, मुझे मिलता है:
sudo: functionx: command not found
जैसा कि मुझे उम्मीद थी, exportफर्क नहीं पड़ा। मैं फ़ंक्शन को स्क्रिप्ट में सीधे निष्पादित करने में सक्षम होना चाहता हूं बजाय इसे तोड़ने और इसे अलग कारणों के लिए एक अलग स्क्रिप्ट के रूप में निष्पादित करने में।
क्या कोई तरीका है जिससे मैं अपने फंक्शन को "सुदो" को बिना एक्स्ट्रेक्ट किए, उपयुक्त डायरेक्टरी ढूंढ कर, और फिर स्टैंड-अलोन स्क्रिप्ट के रूप में निष्पादित कर सकता हूं?
यह फंक्शन एक पेज के बारे में है और इसमें कई स्ट्रिंग्स, कुछ डबल-कोटेड और कुछ सिंगल-कोटेड हैं। यह मुख्य स्क्रिप्ट में कहीं और परिभाषित मेनू फ़ंक्शन पर भी निर्भर है।
मैं केवल sudo के साथ किसी से अपेक्षा करूंगा कि वह फ़ंक्शन को चलाने में सक्षम हो, क्योंकि वह जो कुछ भी करता है वह पासवर्ड बदलता है।
declareउन्हें भी।