मेरे पास एक जावा एप्लिकेशन है जो एक ([ba] sh) खोल स्क्रिप्ट से निष्पादित है और दुर्भाग्यवश कभी-कभी लोग इसे तैनात करने के लिए ज़िम्मेदार होते हैं और इसे शुरू करने से पहले उपयुक्त उपयोगकर्ता पर स्विच करने में विफल रहते हैं। इस स्थिति में मैं एप्लिकेशन को कम से कम चलाने के लिए नहीं चाहता हूं, और आदर्श रूप से चेतावनी जारी करता हूं कि ऐसा न करें। मैंने जावा को उपनाम करने या जड़ के पथ को बदलने के बारे में सोचा था, जिसमें नकली जावा शामिल है, लेकिन इसमें अवांछित साइड इफेक्ट्स हो सकते हैं और यह आसानी से प्रभावी नहीं होगा क्योंकि शैल स्क्रिप्ट जावा बाइनरी के लिए पूर्ण पथ निर्दिष्ट करती है ।यह सुनिश्चित करने के लिए एक शेल स्क्रिप्ट में सबसे आसान क्या है कि यह रूट के रूप में नहीं चल रहा है?
तो, यदि मैं रूट हूं तो 'रन न करें' के लिए खोल स्क्रिप्ट में मानक मुहावरे है? बैश में
कृपया खोल इंगित करें ... बाश खोल, सीएमडी खोल? –
क्षमा करें, मैं सीएमडी खोल स्क्रिप्ट के बारे में नहीं सोचता क्योंकि शैल स्क्रिप्ट्स 'बैच फाइल' के रूप में बहुत ज्यादा हैं, इसलिए यह मेरे लिए अलग-अलग होने के लिए नहीं हुआ। – Jherico
बैश में '$ EUID' है लेकिन क्रिस्टिस के पास पोर्टेबल उत्तर है। – msw