命令选项何时以两个连字符“--”作为前缀?

命令选项何时以两个连字符“--”作为前缀?

--了解命令选项何时以 而不是 为前缀的一般规则是什么-

编辑:最好提供引用规范来源(例如steeldriver 的)的答案。建议的重复答案引用了 Wikipedia,虽然还行,但可能不如 GNU 文档链接好。

第二次编辑:我认为标题不是我原创的,所以如果它误导了,我很抱歉,这不是我的编辑。这可能解释了为什么有些评论会引导我查看手册页。

答案1

一般来说,单个破折号-引入单个字母选项,其中字母是选项名称的助记符。

双破折号--引入长选项名称,其中选项的名称是一个完整的单词。

据我所知,这个约定是在 20 世纪 80 年代由 FSF GNU 实用程序引入的。请注意POSIX 标准建议使用单破折号选项,但双破折号除外,用于表示选项列表的结束。

也可以看看

答案2

关于参数

就像 @kos 提到的那样,使用-,--或不用连字符根本取决于程序开发者的选择。

运行程序本身的命令是第一个参数(索引0),第二个参数(及以后)由应用程序定义。

Python 中的一个示例:

if sys.argv[1] == "peanutbutter":
    print("monkey")

如果使用以下命令调用应用程序,则会打印“monkey”:

<application> peanutbutter

如果代码是:

if sys.argv[1] == "--peanutbutter":
    print("monkey")

当应用程序以下列方式运行时也会发生相同的情况:

<application> --peanutbutter

就这么简单。通常,使用---传统的

答案3

-通常后面只有一个字符。这是从 Unix 继承而来。--通常后面跟着多个字符(通常是单词或句子),这来自 GNU 项目。通常命令(主要是 GNU 实用程序)带有两种参数类型,---。例如,在ls命令中,-a--all参数的作用完全相同,但一个是整个单词,另一个是单个字母。

例如,将整个单词作为参数可能对脚本有帮助,因为开发人员可以更轻松地读取它们并解释命令的参数。

另一方面,当您在终端中并且想要更快地运行命令时,单个字母参数可能会变得方便。

如果您对命令可以采用的参数有疑问,可以尝试以下几个命令:

command --help
command -?
man command

命令man会给出更加详细的解释,但是有些命令没有man(手册)页。

答案4

通常一个命令行有三个部分:

command -option argument 

所以,-这个被称为期权,--这个被称为多头期权。它们基本上做同样的工作,但你必须清楚地选择后者。

以下是一些示例---您可以使用命令ls

在此处输入图片描述

相关内容