उपनाम को पृष्ठभूमि में चलाने के लिए एक आदेश


25

मैं एक कुंजीपटल शॉर्टकट काम करना चाहूंगा:

> e foo.txt

के रूप में विस्तार करने के लिए

> emacs foo.txt &

यह उपयोग करने के लिए सरल है alias e=emacs, लेकिन मैं &फ़ाइल नाम के बाद कैसे सम्मिलित करूं ? मुझे लगता है कि यह सिर्फ उपयोग करना संभव नहीं हो सकता है alias, इसलिए मैं किसी भी बैश समाधान को स्वीकार करूंगा। यदि एक शेल स्क्रिप्ट की आवश्यकता है, तो कृपया बताएं कि यह कैसे काम करता है।


4
आपको प्रत्येक फ़ाइल के लिए एक नया खोलने के बजाय कमांड-लाइन से फ़ाइल खोलने emacsclientया उपयोग gnuclientकरने के लिए चाहिए emacs: emacswiki.org/emacs/EmacsClient
andcoz

जवाबों:


38

बैश में उपनाम में तर्क नहीं हो सकते हैं, लेकिन आप फ़ंक्शन का उपयोग कर सकते हैं।

e() { emacs "$@" & }

फिर

e foo.txt

जो चाहोगे, करोगे।


1
यह एक समस्या है जब मैं e foo*दोनों के साथ एक निर्देशिका में टाइप करता हूं foo.cppऔर foo.h, केवल एक फाइल खुल जाएगी।
हुक

4
@ देखा, तो फ़ंक्शन के "$@"बजाय का उपयोग करें "$1"
एपीग्रामग्राम

1
@AProgrammer जो वाइल्डकार्ड के लिए काम नहीं करता है। वाक्य रचना मैं उपयोग कर रहा हूँ है: emacs $* &और एक और भी बेहतर समाधान लगता हैe() { command emacs $* & disown }
नाम
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.