आप जो करना चाह रहे हैं, वह संभव नहीं है।
ध्यान दें कि हमेशा दो पक्ष होते हैं: ग्राहक पक्ष और सर्वर पक्ष। क्लाइंट कंप्यूटर पर या सर्वर पर स्क्रिप्ट है?
यदि यह क्लाइंट पर है: आप आगंतुक के रूप में केवल एक HTML वेबसाइट देख रहे हैं। onClick
केवल जावास्क्रिप्ट (या अन्य स्क्रिप्टिंग भाषाओं ) को लॉन्च करने में सक्षम होगा , लेकिन आपके कंप्यूटर पर रहने वाली कोई भी मनमाना शेल स्क्रिप्ट नहीं। HTML स्क्रिप्ट केवल ब्राउज़र में चलती है और केवल सीमित चीजें ही कर सकती है। सबसे महत्वपूर्ण बात, वे आपके कंप्यूटर के साथ बातचीत नहीं कर सकते।
इसके बारे में सोचें: ब्राउज़र को फ़ाइल खोलने का तरीका कैसे पता चलेगा? क्या आपको नहीं लगता कि यह एक सुरक्षा मुद्दा होगा - एक ग्राहक की कंप्यूटर पर स्क्रिप्ट के निष्पादन को ट्रिगर करने वाली एक सादे वेबसाइट? अगर ऐसा कुछ होता तो क्या होता onClick('rm -rf /home/user')
?
एक जावा एप्लेट चलाने के लिए एक विकल्प होगा, यदि आप चाहते हैं कि कोड को क्लाइंट पर निष्पादित किया जाए, लेकिन यह बिल्कुल समान नहीं है और यह वास्तव में कुछ जटिल है। मुझे नहीं लगता कि इसके बारे में विस्तार से बताना आवश्यक है।
यदि स्क्रिप्ट सर्वर पर है: यदि आप सर्वर साइड पर स्क्रिप्ट चलाना चाहते हैं और उपयोगकर्ता को इसके निष्पादन को ट्रिगर करना है, तो आपको सर्वर साइड प्रोग्रामिंग भाषा का उपयोग करने की आवश्यकता है। बस HTML ऐसा नहीं करेगा, क्योंकि यह एक स्थिर फ़ाइल है। यदि आप सर्वर के साथ बातचीत करना चाहते हैं, तो आप उदाहरण के लिए PHP का उपयोग कर सकते हैं ।
यह exec
एक कमांड लाइन स्क्रिप्ट चलाने के लिए फ़ंक्शन है जो वेब सर्वर पर संग्रहीत है। इसलिए मूल रूप से, आप लिख सकते हैं exec('/path/to/name.sh');
और यह स्क्रिप्ट को सर्वर पर चलाएगा।
हालाँकि, इसको इसमें डालना onClick
पर्याप्त नहीं है। यदि आप अभी तक PHP और सर्वर साइड वेब प्रोग्रामिंग के बारे में नहीं जानते हैं, तो आप पहले कुछ ट्यूटोरियल पढ़ना चाहते हैं और फिर एक अधिक विशिष्ट प्रश्न के साथ वापस आ सकते हैं।
यदि आपके पास उपयुक्त exec(...)
कमांड के साथ एक php फाइल है , तो सुनिश्चित करें कि स्क्रिप्ट ने न केवल उपयोगकर्ता के लिए, बल्कि वेब सर्वर में समूह के लिए भी अनुमत अनुमतियों को निष्पादित किया है, इसलिए सबसे सरल स्थिति में 777
।
echo exec(...);
यदि कोई त्रुटि हो तो यह देखने के लिए स्क्रिप्ट के वापसी मान के लिए समस्या की जाँच करें ।
आप स्क्रिप्ट को कमांड लाइन से भी चला सकते हैं और ब्राउजर से नहीं php /path/to/file.php
।