क्या कोई मुझे यूनिक्स / लिनक्स में कस्टम कमांड बनाने के लिए मार्गदर्शन कर सकता है।
क्या कोई मुझे यूनिक्स / लिनक्स में कस्टम कमांड बनाने के लिए मार्गदर्शन कर सकता है।
जवाबों:
अपने / 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 program
bin
बहुत सारे उत्तरों में एक फ़ोल्डर बनाने के आपके सुझाव को देखा है। क्या .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