सूडो और कुछ अन्य सिस्टम प्लैटिपस के साथ काम नहीं कर रहे हैं


1

मैं एक शेल स्क्रिप्ट बना रहा हूं जो अपने आप में बहुत अच्छा काम करता है, लेकिन प्लैटिपस के साथ पैक किए जाने पर सही ढंग से काम नहीं करता है । यह निष्पादित नहीं करना चाहता है sudo, और कुछ अन्य सिस्टम कमांड। क्या इसके आसपास कोई काम है?

नोट: यह तब है जब आप "प्रशासक विशेषाधिकारों के साथ चलाएँ" विकल्प का चयन करें। इसके अलावा, यह एक जवाब है, यह मेरा खुद का सवाल है, क्योंकि मैं किसी और की कल्पना करूंगा क्योंकि यह मुद्दा भी होगा।

जवाबों:


1

आप एप्लिकेशन लॉन्च करने के लिए ऑसस्क्रिप्ट का भी उपयोग कर सकते हैं। यह सुडो पहुंच सुनिश्चित करता है।

osascript -e "do shell script \"/path2/shellscript.sh $*\" with administrator privileges"

आप अपनी स्क्रिप्ट को कॉल करने के लिए इसे किसी अन्य शेल स्क्रिप्ट में रख सकते हैं। या सीधे उद्धरणों के भीतर अपनी आवश्यक कमांड चलाएं।

यह बेहतर है क्योंकि आपको / usr / bin / sudo पर भरोसा नहीं करना है या हाल ही में चलाया जा रहा है


मैंने वास्तव में एक ऐप बनाते समय थोड़ी देर पहले उस कमांड के बारे में सीखा। उत्तर देने के लिये धन्यवाद।
Flare Cat

आपके लिए तब अच्छा है ... चीयर्स
अरविंद श्रीकुमार

0

मुझे लगा कि यह मुद्दा है, यह प्रतीत होता है कि प्लैटिपस कुछ सिस्टम कमांड को नहीं पहचानता है, भले ही वे इसके हैं $PATH। इन सिस्टम कमांड का उपयोग करने के लिए, आपको उनके पूर्ण पथ को सूचीबद्ध करना होगा।

तो, sudoमामले में:

/usr/bin/sudo <commmand>

या, cpमामले में:

/bin/cp <arguments>


2
क्या यह वास्तव में काम करता था? प्लैटिपस प्रलेखन का कहना है कि आप सुडो का उपयोग नहीं कर सकते। "प्लैटिपस स्क्रिप्ट को 'सुडो' कमांड का उपयोग नहीं करना चाहिए। यह स्क्रिप्ट को एसटीडीआईएन के माध्यम से इनपुट के लिए संकेत देता है, और चूंकि कोई भी आगामी नहीं है, इसलिए आवेदन अनिश्चित काल तक लटका रहेगा।"
यूजीन

1
जो मैंने पाया वह यह है कि sudo केवल तभी काम करेगा जब यूजर ने हाल ही में आपके ऐप के बाहर एक sudo कमांड चलाया हो, जैसे कि टर्मिनल विंडो में। तब सूडो सत्र अभी भी सक्रिय है, और सूदो प्लैटिपस के भीतर से काम करेगा।
यूजीन

@ यूजीन यह मेरे लिए काम करता है, लेकिन शायद ऐसा इसलिए है क्योंकि हो सकता है कि इससे पहले मैं एक टर्मिनल में सुडो चलाऊं।
भड़की बिल्ली
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.