मैं एक कस्टम टर्मिनल कमांड (स्क्रिप्ट चलाने के लिए) कैसे बना सकता हूं?


36

मैं एक वेब डेवलपर हूं। जब मैं काम करना शुरू करना चाहता हूं, तो मैं हमेशा टर्मिनल पर कुछ कमांड निष्पादित करता हूं। उदाहरण के लिए:

sudo service apache2 start
sudo service mysql start
sublime

इस प्रक्रिया को गति देने के लिए, मैं एक .shफाइल बनाता हूं जिसमें ये कमांड होते हैं।

अब, जब मैं काम करना शुरू करना चाहता हूं, तो मैं केवल .sh फ़ाइल और सभी सेवाओं (mysql, apache2 आदि) को शुरू कर रहा हूं।

क्या इसके लिए एक कस्टम कमांड बनाना संभव है? उदाहरण के लिए यदि मैं sudo start-workingटर्मिनल पर टाइप करता हूं , तो यह इन कमांड्स को निष्पादित करेगा

जवाबों:


58

एक सामान्य तरीका यह है कि लोग इसे binअपने घर निर्देशिका में एक निर्देशिका बनाने के लिए संभालते हैं :mkdir ~/bin

फिर, आप अपनी कस्टम स्क्रिप्ट वहां रख सकते हैं: mv start-working ~/bin

सुनिश्चित करें कि आपकी स्क्रिप्ट निष्पादन योग्य है: chmod +x ~/bin/start-working

इसे अपनी ~/.bashrcफ़ाइल के निचले भाग में जोड़ें (यदि आप bash का उपयोग कर रहे हैं, जो आप शायद कर रहे हैं):export PATH=$PATH:~/bin

अब अपने टर्मिनल के अंदर और बाहर लॉग इन करें और आपको बस टाइप करने में सक्षम होना चाहिए start-working, और आपकी स्क्रिप्ट निष्पादित होगी।

अब जब आपका रास्ता तय हो गया है, तो आपके द्वारा ड्रॉप की गई कोई भी नई स्क्रिप्ट आपके ~/binनाम पर लिखी जा सकती है।


13
+1, और लॉग आउट करने के बजाय, आप केवल परिवर्तनों को लागू करने के लिए source ~/.bashrcया . ~/.bashrcकमांड चला सकते हैं।
मयसम सिप

जो ओपेगार्ड, मुझे यह वास्तव में उपयोगी जानकारी मिलती है क्योंकि मेरे पास पूरी स्क्रिप्ट हैं और स्क्रिप्ट के बजाय एक कमांड के रूप में चलेंगी। क्या सभी उपनिर्देशिकाओं को शामिल करने का एक तरीका है जो आप ~ / बिन में बनाते हैं ताकि आपको .bashrc में कई निर्यात लाइनों को शामिल न करना पड़े? मैंने कोशिश की export PATH=$PATH:~/bin/*लेकिन वह वांछित परिणाम नहीं लौटाया।
केविन वायमन

2
डिफ़ॉल्ट ~/.profileपहले से ही ~/binPATH में जुड़ जाता है, इसलिए ~/.bashrcइसके अतिरिक्त इसे जोड़कर इसे दो बार या अधिक जोड़ देगा।
जिरह

इसने मेरे बिना कुछ भी करने के लिए काम किया। तमाशबीन, इसलिए आप इसे छोड़ पाने में सक्षम हो सकते हैं जैसा कि गरिहा कहती है
आरोन फ्लोर्स

मेरे अनुभव में, जब आप एक नई फ़ाइल जोड़ते हैं, तो आपको एक चोद कमांड को फिर से करना होगा, अन्यथा अनुमति से इनकार कर दिया जाएगा
वेबवॉमन

15

मैं देख रहा था कि कैसे कस्टम कमांड बनाने के लिए और मुझे यह सवाल दूसरों के बीच मिला। मुझे लगता है कि मैं जो देख रहा था वह उपनामों के लिए था इसलिए मैं आपको एक उपनाम के साथ ऐसा करने का तरीका दूंगा।

अपने होम फोल्डर पर:

nano .bash_aliases

और वहाँ आप एक पंक्ति में अपने आदेश लिख सकते हैं:

alias start-working='sudo service apache2 start; sudo service mysql start; sublime'

फ़ाइल को सहेजने के बाद अपने bashrc को फिर से कॉन्फ़िगर करें

. ~/.bashrc

और अपने नए उर्फ ​​लोड किया गया है की जाँच करें

alias

बस, अब आप काम शुरू कर सकते हैं

start-working
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.