क्या कोई मुझे यूनिक्स / लिनक्स में कस्टम कमांड बनाने के लिए मार्गदर्शन कर सकता है।
क्या कोई मुझे यूनिक्स / लिनक्स में कस्टम कमांड बनाने के लिए मार्गदर्शन कर सकता है।
जवाबों:
अपने / usr / बिन फ़ोल्डर में एक बैश स्क्रिप्ट बनाएं, यह कुछ इस तरह दिखना चाहिए
#!/bin/bash
Whatever combination of commands you want to run when you type this thing.
यह वास्तव में आसान है।
बस बैश स्क्रिप्ट को नाम दें जिसे आप टर्मिनल में टाइप करना चाहते हैं, और इसे एक्सेसेबल बना chmod +x filenameसकते हैं : और आप जाने के लिए अच्छे हैं!
./filename
इस बिन निर्देशिका को शामिल करने के लिए अपने पथ चर को अपडेट करें। इसे स्थायी करने के लिए इसे .profileया .bash_profleफ़ाइल में रखें ।
export PATH=$PATH":$HOME/bin"
एक स्क्रिप्ट बनाएं, "हैलो" कहें और इसे अपनी बिन निर्देशिका में रखें। द्वारा हेलो स्क्रिप्ट को निष्पादित करने की अनुमति दें $ chmod +x hello।
#!/bin/bash
echo My first programपुनः लोड करें .profileया .bash_profle:
$ . ~/.bash_profile
किसी भी निर्देशिका से, आप बस टाइप करें:
$ hello
My first programbinबहुत सारे उत्तरों में एक फ़ोल्डर बनाने के आपके सुझाव को देखा है। क्या .binइसके बजाय कोई समस्या है bin? मैं वास्तव में इस बात को लेकर उत्सुक हूं कि मेरा homeलुक कैसा है और मैं सिर्फ इसलिए अतिरिक्त फ़ोल्डर नहीं चाहता हूं।
zshइंस्टॉल में कुछ गड़बड़ है या $PATHयह समाप्त हो रहा है कि chmod -x helloयह काम नहीं कर रहा था, न ही एक पूंजी है -X। इसके बजाय मैंने कोशिश की chmod 755 hello, जबकि मैं इस आदेश के संबंध में सुरक्षा जोखिमों के बारे में सुनिश्चित नहीं हूं, यह वास्तव में मुझे चलने देता है hello। क्या किसी के पास इसके लिए स्पष्टीकरण है? मैं यह मान रहा हूं कि यह उम्र के संबंध में एक समस्या है?
chmod +x helloस्क्रिप्ट में 'रन' विशेषाधिकार जोड़ने के लिए उपयोग करें । chmod -x helloइसके ठीक विपरीत है - 'रन' विशेषाधिकार हटाता है। (जवाब में और आपकी टिप्पणी में प्लस / माइनस साइन अंतर पर ध्यान दें।)
आसान है, एक उपनाम बनाएं।
कहते हैं कि आप अपने डाउनलोड निर्देशिका में सीडी के लिए एक कमांड लिखना चाहते हैं। और आप इसे cdd कहना चाहते हैं।
alias cdd='cd ~/Downloads'
आप अपनी इच्छानुसार कोई भी कमांड बना सकते हैं।
यहां और जानकारी दी गई है:
http://www.mediacollege.com/linux/command/alias.html
अधिकांश, यदि सभी अब तक नहीं हैं, तो लिनक्स वितरण में ~ / .bashrc में थोड़ी स्क्रिप्ट है जो लगभग इसके समान दिखता है:
if [ -e ~/.bash_aliases ]
then
. ~/.bash_aliases
fi
इसका मतलब यह है कि आप अपनी खुद की कमांड बना सकते हैं (जिसे ' aliases' के रूप में भी जाना जाता है) आमतौर पर एक मौजूदा कमांड को कुछ तर्कों के साथ संदर्भित किया जाता है जिनका आपको हमेशा उपयोग करना होता है, या कमांड की एक सूची जिसे क्रम में निष्पादित किया जाना है)।
जब तक आप पहले से ही ऐसा नहीं करते हैं, तब तक आपके लिनक्स वितरण में आपके घर में निर्मित .bash_aliases फ़ाइल की संभावना नहीं होगी। तो फ़ाइल बनाने के लिए, निम्न कमांड टाइप करें:
touch ~/.bash_aliases
अब उस फ़ाइल को स्वचालित रूप से हर बार निष्पादित किया जाएगा जब आप एक नया टर्मिनल बंद करते हैं।
अब आप क्या कर सकते हैं उपनाम की एक सूची बनाएं और बाद में उपयोग के लिए उन्हें उस फ़ाइल में जोड़ें। उदाहरण के लिए, rmडिफ़ॉल्ट रूप से (निकालें) कमांड आपको किसी फ़ाइल / निर्देशिका को हटाने के लिए कहने पर आपके अनुरोध की पुष्टि करने के लिए नहीं कहता है। हालांकि, वहाँ एक तर्क कहता है कि है rm, अपने अनुरोध की पुष्टि करने के लिए आप से पूछना चाहता -i। इसलिए, rm -i filePathआपको एक संदेश प्रदर्शित करेगा , यदि आप सुनिश्चित करें कि आप निर्दिष्ट फ़ाइल को हटाना चाहते हैं। अब, यदि आप गलती से किसी फ़ाइल को हटा देते हैं, तो आप -iविकल्प को शामिल करना भूल जाएंगे , और यही वह जगह है जो aliasबहुत फायदेमंद हो जाती है। निम्न कमांड टाइप करना
echo "alias rm='\rm -i'" >> ~/.bash_aliases
बताएगा Bashकि हर बार जब आप किसी फ़ाइल को हटाने का अनुरोध करते हैं, तो एक पुष्टिकरण संदेश आपको प्रदर्शित किया जाएगा। बेशक, बहुत कुछ है जो आप कर सकते हैं - यह सिर्फ मूल बातें है।
आप कैसे कुछ बुनियादी आदेशों का उपयोग करने (यानी जानना चाहते हैं cd, touch, rm, mkdir, pushd, popd, आदि) और / या अधिक परिष्कृत लोगों, मैं एक बहुत अच्छी किताब आप हो सकता है आपकी बुकशेल्फ़ पर एक संदर्भ के रूप में कहा जाता है की सलाह देते हैं
मार्क जी। सोबेल द्वारा संपादकों और शेल प्रोग्रामिंग को लाइनक्स के लिए एक व्यावहारिक गाइड । आईएसबीएन: 978-0133085044