Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否有虚线和参数的标准命令行约定?_Java_Python_Unix_Command Line Arguments - Fatal编程技术网

Java 是否有虚线和参数的标准命令行约定?

Java 是否有虚线和参数的标准命令行约定?,java,python,unix,command-line-arguments,Java,Python,Unix,Command Line Arguments,关于何时使用2个破折号、1个破折号或完全不使用选项并按顺序读取输入,命令行约定是什么 我知道有很多变体,但有哪种约定作为行业标准(比如Java、C或Python)脱颖而出吗?这取决于你的品味 Unix惯例是命令有两种形式:长和短(一个字符)。为了表示长形式,我们使用2个破折号--。例如--安装。短格式用一个破折号标记,例如-i 但没有规则没有例外。例如,java本身的命令行选项不遵循此约定:-cp和-classpath的含义相同,并且两者仅用一个破折号标记-版本没有短别名等 斜杠在windows

关于何时使用2个破折号、1个破折号或完全不使用选项并按顺序读取输入,命令行约定是什么


我知道有很多变体,但有哪种约定作为行业标准(比如Java、C或Python)脱颖而出吗?

这取决于你的品味

Unix惯例是命令有两种形式:长和短(一个字符)。为了表示长形式,我们使用2个破折号--。例如
--安装
。短格式用一个破折号标记,例如
-i

但没有规则没有例外。例如,java本身的命令行选项不遵循此约定:
-cp
-classpath
的含义相同,并且两者仅用一个破折号标记<代码>-版本
没有短别名等

斜杠在windows应用程序中使用


作为java开发人员,我更喜欢使用独立于平台的约定(破折号)。此外,各种库(如雅加达项目中的库)都支持破折号,因此更容易实现

我同意@Nishant的观点,单破折号是更详细选项的简写符号。

请参阅Apache Commons CLI提供的ls示例,阅读Python的optparse模块,它回答了您的一些问题,并举例说明了一些常见的参数格式标准。optparse模块的作者推荐了一种大致对应于的样式,并添加了来自GNU编码标准的--double-spaush long参数。

很多时候,单破折号是类似选项的快捷方式。例如,
/cassandra.sh-h hostname
相当于双虚线版本
/cassandra.sh——主机名
,还有类似的问题: