मैं एक उपनाम बनाना चाहूंगा rm आदेश में आदेश इस आदेश को क्रियान्वित करने के बाद एक पुष्टिकरण संदेश है । तो मैं इस तरह एक उपनाम बना रहा हूं alias rm='rm -i'. लेकिन जहां तक मुझे पता है कि यह एक अस्थायी उपनाम है और यह तब तक रहता है जब तक आप टर्मिनल बंद नहीं करते ।
जैसा कि समझाया गया है यहाँ उपनाम को स्थायी रूप से सहेजने के लिए मुझे निष्पादित करने की आवश्यकता है ~/.bash_aliases या ~/.bashrc टर्मिनल में कमांड और वहां मेरा उपनाम जोड़ें। लेकिन जब मैं निष्पादित करता हूं ~/.bashrc मुझे निम्न त्रुटि संदेश मिलता है :
bash: /home/bakhtiyor/.bashrc: Permission denied
जब मैं दौड़ता हूं ~/.bash_aliases मुझे इस तरह एक और त्रुटि संदेश मिलता है:
bash: /home/bakhtiyor/.bash_aliases: File or directory doesn't exist.
वास्तविक समस्या क्या है और मैं इसे कैसे हल कर सकता हूं?
उपनाम बनाने के कई तरीके हैं । सबसे अधिक इस्तेमाल किए जाने वाले तरीके हैं:
सीधे अपने में उपनाम जोड़ें ~/.bashrc फ़ाइल
उदाहरण के लिए: इन पंक्तियों को इसमें जोड़ें ~/.bashrc फ़ाइल
alias ll='ls -l'alias rm='rm -i'
अगली बार (आपके द्वारा लॉग आउट / इन करने के बाद, या किया गया . ~/.bashrc) जब आप टाइप करते हैं rm द rm -i कमांड निष्पादित किया जाएगा ।
दूसरी विधि आपको एक अलग उपनाम फ़ाइल बनाने देती है, इसलिए आपको उन्हें अंदर नहीं डालना होगा .bashrc, लेकिन अपनी पसंद की फाइल के लिए । सबसे पहले, अपना संपादित करें ~/.bashrc फ़ाइल करें और निम्न पंक्तियों को जोड़ें यदि वे पहले से मौजूद नहीं हैं, या यदि वे करते हैं तो उन्हें अनदेखा करें:
if [ -f ~/.bash_aliases ]; then. ~/.bash_aliasesfi
इसे सहेजें और फ़ाइल को बंद करें । उसके बाद, आपको बस एक बनाना है ~/.bash_aliases पहली विधि में निर्दिष्ट समान प्रारूप के साथ फ़ाइल करें और वहां अपने उपनाम जोड़ें ।
यह मुझे लगता है जैसे आपकी एकमात्र समस्या बस निष्पादित करने की कोशिश कर रही है । bashrc जब यह निष्पादन योग्य नहीं है । लेकिन यह ऐसा करने का सही तरीका नहीं है; जब भी आप इस फ़ाइल में कोई बदलाव करते हैं, तो आपको इसे कमांड द्वारा "निष्पादित" करना चाहिए:
source ~/.bashrc
अन्यथा, यह बस एक नया शेल बनाएगा, फ़ाइल को नए शेल के वातावरण में निष्पादित करेगा, फिर उस वातावरण को छोड़ देगा जब वह बाहर निकलता है, जिससे आपका परिवर्तन खो जाता है । स्क्रिप्ट को सोर्सिंग करके, यह वर्तमान शेल के भीतर निष्पादित होता है, इसलिए यह प्रभावी रहेगा ।
मैं मान रहा हूं कि दूसरी त्रुटि थी क्योंकि बैश_एलियास मौजूद नहीं है । यह आवश्यक नहीं है, बस अपने परिवर्तनों को अलग और व्यवस्थित रखने की अनुशंसा की जाती है । इसका उपयोग केवल तभी किया जाता है जब यह मौजूद हो, और आप इसके लिए परीक्षण देख सकते हैं । bashrc:
if [ -f ~/.bash_aliases ]; then. ~/.bash_aliasesfi
यह कहता है कि यदि फ़ाइल ~/ । बैश_एलियास मौजूद है, फिर इसे चलाएं ।
यह एक उदाहरण है जिसे मैं ढूंढ रहा था, टर्मिनल ("वीपीएस") पर कुछ अक्षरों को दूरस्थ रूप से सर्वर में लॉग इन करने और एक्स 11 अग्रेषण को सक्षम करने का एक तरीका है ताकि मैं नेटवर्क पर "जीएडिट" जैसे जीयूआई ऐप्स चला सकूं ।
>>कमांड / अलियास कमांड जो भी हो, इस तरह से इको स्टेटमेंट, उद्धरण चिह्नों और कमांड के आउटपुट को फाइल () में जोड़ने के लिए प्रतीक मेरे लिए काम करता है । बस आपके द्वारा आवश्यक उपनाम कमांड के लिए मेरे कमांड को बदलें और इसे अपने टर्मिनल में दर्ज करें ।
यदि आप रूबी का उपयोग कर रहे हैं, तो आप रूबीगेम का उपयोग करके उर्फ स्थापित कर सकते हैं ।
gem install aka2
उपयोग
aka generate hello="echo helloworld" #add an aliasaka g hello="echo helloworld" #add alias for lazy peopleaka destroy hello #remove aliasaka d hello #remove alias for lazy people
रूबीगेम आपकी डॉट फ़ाइल को ऑटो-सोर्स करेगा ताकि आपको इसकी आवश्यकता न हो । इसे देखें।
जैसा कि मुझे याद है, bashrc सीधे उपनामों के लिए इसका उपयोग न करने का सुझाव देने वाली एक पंक्ति है, या थी । द समाधान बाहरी फ़ाइल का उपयोग करना है । द foo और bar उपनाम जोड़े गए हैं, लेकिन जोड़ने के लिए baz द bashrc फ़ाइल "सोर्स" होनी चाहिए (या, बस एक नया टर्मिनल खोलें) । उदाहरण के रूप में: