तो मैं एक .sh फ़ाइल है कि निष्पादन योग्य हो जाएगा लिखने के लिए कोशिश कर रहा हूँ जावा के साथ एक निष्पादन .sh फ़ाइल लिखें, यह कैसे मैं वर्तमान में यह लिख रहा हूँ है:OSX के लिए
Writer output = null;
try {
output = new BufferedWriter(new FileWriter(file2));
output.write(shellScriptContent);
output.close();
} catch (IOException ex) {
Logger.getLogger(PunchGUI.class.getName()).log(Level.SEVERE, null, ex);
}
तो फ़ाइल लिखते हैं कि बस ठीक है, लेकिन यह निष्पादन योग्य नहीं है। जब मैं इसे लिखता हूं तो निष्पादन योग्य स्थिति को बदलने का कोई तरीका है?
संपादित करें: आगे स्पष्टीकरण के लिए, मैं इसे डिफ़ॉल्ट रूप से निष्पादित करने की कोशिश कर रहा हूं, उदाहरण के लिए, यदि आप जेनरेट की गई फ़ाइल को डबल क्लिक करते हैं, तो यह स्वचालित रूप से निष्पादित हो जाएगा।
सुझाव के लिए धन्यवाद! क्या डबल क्लिक होने पर यह स्वचालित रूप से निष्पादित हो जाएगा? – Alan
यह मानना चाहिए कि जावा प्रोग्राम चलाने वाला उपयोगकर्ता वही है जो शेल स्क्रिप्ट चलाएगा। अन्यथा आप chmod को एक + x में समायोजित कर सकते हैं जिसका अर्थ है कि सभी उपयोगकर्ताओं को निष्पादन अनुमति है। मैंने लिनक्स पर एक छोटा परीक्षण कार्यक्रम किया और यह मेरे लिए काम किया। – user49913
आपने दिन के दोस्त को बचाया, मैं जावा के भीतर से एक स्क्रिप्ट को निष्पादित करने के तरीके के आसपास हो रहा था और मुझे जो कुछ करने की ज़रूरत थी उसे 'chmod' कमांड के माध्यम से निष्पादन योग्य बना दिया गया था! धन्यवाद – redDragonzz