क्या एक अन्य उपनाम अन्य को प्रभावित करता है?


14

मेरे पास अभी तक मेरे .bash_aliases फ़ाइल में कई उपनाम नहीं हैं। हाल ही में मुझे पता चला है कि वे कितने उपयोगी हो सकते हैं।

मैं खुद को एलियास पर काफी हद तक देख पा रहा हूं ताकि फाइल बहुत ज्यादा खराब हो जाए इससे पहले मैं एक बहुत ही सरल प्रश्न पूछकर कुछ स्पष्ट करना चाहूंगा। क्या एक उपनाम दूसरे को प्रभावित करता है, या क्या उपनाम हमेशा मूल आदेश पर वापस लौटता है?

एक उदाहरण इसे और अधिक स्पष्ट कर सकता है:

मैं lsअलियास हो गया हूं ls -lF। चलो मैं भी उर्फ करना चाहते हैं कहते हैं कि dकरने के लिए ls -l | grep -E "^d"करता है: dअब उपयोग ls -lFके स्थान पर ls? यदि हां, तो क्या यह .bash_aliases कॉन्फ़िगरेशन फ़ाइल में ऑर्डर का मामला है?

man alias मुझे प्रबुद्ध नहीं किया।

जवाबों:


20

से उपनाम (बैश मैनुअल की धारा 6.6) :

प्रत्येक साधारण कमांड का पहला शब्द, यदि अयोग्य है, तो यह देखने के लिए जाँच की जाती है कि उसमें एक उपनाम है या नहीं। यदि हां, तो उस शब्द को उपनाम के पाठ से बदल दिया जाता है।

यह तब होता है जब आप उपनाम का उपयोग करते हैं, न कि जब आप इसे परिभाषित करते हैं। यहाँ एक उदाहरण है:

$ alias a1='a2 hello'
$ alias a2='echo'
$ a1
hello
$ unalias a2
$ a1
bash: a2: command not found

1
ठीक है महान, उस उदाहरण के लिए धन्यवाद (और बैश मैनुअल के लिंक के लिए भी)। मैं मैनुअल से उद्धृत करता हूं: "उपनामों की परिभाषा और उपयोग के विषय में नियम कुछ भ्रामक हैं ... लगभग हर उद्देश्य के लिए, शेल कार्यों को उपनामों पर पसंद किया जाता है।" मुझे लगता है कि मैं तब शेल फ़ंक्शन करना बेहतर सीखूंगा। :)
बोहेज

1
हाँ। उपनाम आपको सामान्य आदेशों के लिए कुछ टाइपिंग बचा सकते हैं, लेकिन किसी भी चीज़ के लिए दूरस्थ रूप से जटिल लेखन कस्टम कार्यों को संभालना आमतौर पर एक बेहतर विकल्प है।
कालेब

@ कालेब @ गिल्स - धन्यवाद दोस्तों। BTW, ls = 'ls --color' मैं बहुत काम में देख सकता हूँ। इस साइट से प्यार करें। :)
boehj

2
@boehj: जब आप कमांड का नाम या मामूली भिन्नता का उपयोग करते हैं, और अन्यथा कार्य करते हैं, तो अंगूठे का एक नियम एक उपनाम का उपयोग करना है। तो alias ls='ls --color', alias cp='cp -i'लेकिन अधिक जटिल सामान के लिए कार्य करता है। विशेष रूप से, मैं आपका dएक समारोह बनाऊंगा ताकि आप तर्क पास कर सकें ls[भ्रमित ब्रेनो को ठीक करने के लिए टिप्पणी की गई, धन्यवाद @cjm]
गाइल्स का SO- बुराई होना बंद करो '

@ गिल्स - ठीक है, आज के लिए मेरा काम खुद को dएक शेल फ़ंक्शन के रूप में दोहराने का तरीका सिखाना है।
बोहज
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.