टर्मिनल कमांड में "-" का क्या अर्थ है?


23

मैंने कई ट्यूटोरियल देखे हैं जो एक --कमांड के बाद उपयोग करते हैं । कुछ इस तरह:

command -- 

इसका क्या --मतलब है?


क्या वीडियो ट्यूटोरियल?
वांडरर


वास्तव में, मुझे आश्चर्य है कि यह प्रश्न एयू पर पहले से ही एक ठग नहीं था। अन्य StackExchange समुदायों पर समान प्रश्न क्या गणना के रूप में गणना नहीं की जाती है (@edwinksl द्वारा दिए गए लिंक)? उस पर क्या लेना है? शायद मुझे यह पूछना चाहिए कि मेटा पर ....
Cbhihe

@ चेभी मुझे एक ऐसे तंत्र की जानकारी नहीं है जो हमें अन्य एसई साइटों के डुप्लिकेट लक्ष्यों की ओर इशारा करने की अनुमति देता है। वैसे भी, ऐसा अक्सर नहीं होता है, इसलिए शायद किसी की जरूरत नहीं है।
एडविंकल

3
@ अनाम 2 दुनिया में हम ऐसा क्यों करेंगे? सवाल यहाँ विषय पर है, इसलिए यह रह सकता है। इसे स्थानांतरित करने से एयू से जानकारी निकल जाएगी और यू एंड एल के लिए कुछ भी नया नहीं होगा, इसलिए मैं यह नहीं देखता कि यह अच्छी बात क्यों होगी।
टेराडॉन

जवाबों:


46

--कमांड लाइन विकल्प के अंत का संकेत किया जाता है। यह आपको शुरू करने वाले तर्कों का उपयोग करने में सक्षम बनाता है --। उदाहरण के लिए, यदि आप नामक एक फाइल बनाते हैं --foo:

$ > '--foo'
$ ls
--foo

और फिर इसे हटाने की कोशिश करें, rmसोचेंगे कि आप इसे एक तर्क दे रहे हैं:

$ rm --foo 
rm: unrecognized option '--foo'
Try 'rm ./--foo' to remove the file '--foo'.
Try 'rm --help' for more information.

इसका उपयोग करने का एक तरीका है --:

$ rm -- --foo

यह सामान्य अभ्यास है और POSIX द्वारा अनुशंसित है , इसलिए यह कई कार्यक्रमों द्वारा समर्थित है।


13
यह बैश द्वारा लागू नहीं किया गया है। यह कार्यक्रम और कई POSIX- अनुरूप उपयोगिताओं की एक विशेषता है rmदिशानिर्देश 10 देखें । वास्तव में यह जांचने के लिए कि यह काम नहीं कर रहा है (और इसका कोई मतलब नहीं होगा), बस एक छोटी सी स्क्रिप्ट बनाएं printf '> %s <\n' "$@"और इसे लॉन्च करें --
गनीउर्फ़_ग्निउरफ़

3
@gniourf_gniourf d'oh! मैंने एक छोटी सी पर्ल स्क्रिप्ट लिख कर जाँच की जो इसके विकल्पों को छापती है और इसे कोई भी नहीं देखता है यदि आप इसे पास करते हैं --, लेकिन निश्चित रूप से, यह केवल इसलिए है क्योंकि प्रासंगिक पर्ल मॉड्यूल ( getopts) भी इसका समर्थन करता है। आप काफी सही हैं, मैंने बस जल्दी से खोजा man bash, जिस अनुभाग को मैंने उद्धृत किया था वह देखा लेकिन यह ध्यान देने में विफल रहा कि यह "कमांड लाइन विकल्प" अनुभाग में था। सुधार के लिए धन्यवाद, संपादित जवाब।
टेराडॉन

1

अधिकांश कमांड एक - कमांड का उपयोग करने के लिए कहेंगे कि आगे के मापदंडों को अलग तरह से व्यवहार किया जाना चाहिए। एक उदाहरण rm - --filename ऊपर दिया गया है। एक और उदाहरण, 'स्टार्टएक्स' जैसी एक स्क्रिप्ट पहले ही सब कुछ की व्याख्या करेगी - और एक्स सर्वर के बाद सब कुछ पास कर देगी।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.