जवाबों:
--
बताता cat
नहीं पार्स करने के लिए क्या आदेश पंक्ति विकल्प के रूप में यह बाद आता है की कोशिश करना।
एक उदाहरण के रूप में, दो मामलों में क्या होगा अगर चर के $PIDFILE
रूप में परिभाषित किया गया था PIDFILE="--version"
। मेरी मशीन पर, वे निम्नलिखित परिणाम देते हैं:
$ cat $PIDFILE
cat (GNU coreutils) 6.10
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Torbjorn Granlund and Richard M. Stallman.
$ cat -- $PIDFILE
cat: --version: No such file or directory
--
कमांड लाइन विकल्पों का अंत है? मैंने गेटअप और अन्य तकनीकों के साथ लोगों को देखा है, लेकिन कुछ भी चर्चा नहीं कर रहा है --
।
getopt(1)
मैन पेज की तुलना में और अधिक देखने की आवश्यकता नहीं है : "एक '-' पैरामीटर के बाद प्रत्येक पैरामीटर को हमेशा गैर-विकल्प पैरामीटर के रूप में व्याख्या की जाती है"।
POSIX.1-2017
POSIX इसे यहां भी निर्दिष्ट करता है: http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap12.html#tag_12_02
12.2 उपयोगिता सिंटेक्स दिशानिर्देश
दिशानिर्देश 10:
पहला - तर्क जो विकल्प-तर्क नहीं है, उसे विकल्प के अंत का संकेत देने वाले परिसीमन के रूप में स्वीकार किया जाना चाहिए। किसी भी निम्नलिखित तर्क को ऑपरेंड के रूप में माना जाना चाहिए, भले ही वे '-' चरित्र से शुरू हों।
इसे भी देखें: /unix/11376/what-does-double-dash-mean-also-ogn-as-bare-double-dash
cat
) द्वारा परिभाषित किया गया है और शेल द्वारा नहीं।