2 पॉइंट द्वारा GN⁺ 2024-06-24 | 2 टिप्पणियां | WhatsApp पर शेयर करें

कस्टम commands के टकराव से बचने का तरीका

समस्या

  • कस्टम shell scripts और system commands के बीच नाम टकराने की संभावना
  • खासकर Debian जैसे कई commands को सपोर्ट करने वाले systems में टकराव की संभावना बढ़ जाती है

समाधान

  • कस्टम commands के आगे comma (,) लगाकर उन्हें system commands से अलग करें
  • comma का file names में कोई विशेष अर्थ नहीं होता, इसलिए इसे सुरक्षित रूप से इस्तेमाल किया जा सकता है

फायदे

  • comma का इस्तेमाल करने से command टकराव रोका जा सकता है
  • tab completion फीचर के ज़रिए कस्टम commands की सूची आसानी से देखी जा सकती है

उदाहरण

$ ,«tab»
,complete-scp    ,go-thpgp      ,range
,complete-ssh    ,gr            ,svn-store-password
,coreoff         ,hss           ,umount
,coreon          ,mount-thpgp   ,find
,mount-twt

GN⁺ की राय

  • यह तरीका कस्टम commands और system commands के बीच टकराव को प्रभावी ढंग से रोक सकता है.
  • comma का इस्तेमाल एक सरल लेकिन शक्तिशाली समाधान है, जिसे शुरुआती engineers भी आसानी से अपनाया जा सकता है.
  • यह तकनीक खासकर उन systems में उपयोगी है जहाँ बहुत सारे commands इस्तेमाल होते हैं.
  • एक दूसरे तरीके के रूप में command के आगे कोई खास prefix लगाने पर भी विचार किया जा सकता है.
  • इस तरीके का उपयोग करने से command management ज़्यादा व्यवस्थित और प्रभावी हो सकता है.

2 टिप्पणियां

 
GN⁺ 2024-06-24
Hacker News प्रतिक्रियाएँ
  • "comma_nds" नाम मज़ेदार है। आइडिया अच्छा है, इसलिए इसे आज़माने का सोच रहा हूँ।
  • शुरुआत में लगा था कि यह खास नहीं होगा, लेकिन खासकर Tab का इस्तेमाल करके tools की सूची दिखाने वाला हिस्सा पसंद आया। हाल के दिनों में namespace टकराव लगभग नहीं हुआ।
  • shell script के नाम छोटे और संक्षिप्त होने की वजह से system commands से टकराने की संभावना थी। $PATH के आगे bin directory रख देने से यह समस्या हल हो सकती है।
  • Vim में भी , key का बहुत इस्तेमाल होता है। मिलते-जुलते कारणों से इसे अक्सर इस्तेमाल किया जाता है।
  • समस्या पूरी तरह समझ नहीं आई, लेकिन अपने commands के लिए autocomplete का आइडिया अच्छा है।
  • छोटे custom commands इस्तेमाल करता हूँ। अगर वे system commands से टकराएँ तो भी फर्क नहीं पड़ता। टकराव होने पर किसी दूसरे नाम से alias सेट कर देता हूँ।
  • Windows में Python scripts को आसानी से चला सकते हैं, लेकिन Linux में यह मुश्किल है। Linux में associated program का concept नहीं होने से असुविधा होती है।
  • टकराव से बचने के लिए लंबे executable नाम रखने और छोटे alias सेट करने का तरीका भी है। कमी यह है कि Tab completion असुविधाजनक हो जाती है।
  • text expander/text replacement community में भी comma से शुरू करने की तकनीक आम है।
  • ~/.local/bin में ऐसे कई executable थे जिन्हें मैं याद नहीं रख पाता था। comma से शुरू होने वाले script names याद रखने में मददगार होते।
 
kayws426 2024-06-24

'_' का इस्तेमाल करना कैसा रहेगा?