命令中的“-”和“-”之间有什么区别?


Answers:


15

这是惯例问题。POSIX标准程序通常只有单个字符选项,并且都以单个连字符作为前缀。就我所知,较长的版本是GNU的改进,为了清楚起见,通常以双连字符开头。-您可以在库中,并用于解析方式选择方案看到这getoptgnu-getopt分别。不符合GNU和不符合POSIX的程序可能会完全做其他事情。请注意,您确实不能确定参数的长格式在程序之间可能是相同的。-f通常表示--force,但不是apt-get install(常见的误解)。-v可能表示版本-通常为或--verbose,以此类推。检查手册页或其他文档以确保。也看看维基百科有关getopt的文章。所有这些都比Linux早了十年或更长时间。

dd是一个例子一POSIX标准实用程序不具有任何连字符的选择,在所有findPOSIX标准实用程序的经典示例,该实用程序的单词选项带有单个连字符-几乎所有find的选项都包含多个字符。ps支持多种选项样式:

This version of ps accepts several kinds of options:

1   UNIX options, which may be grouped and must be preceded by a dash.
2   BSD options, which may be grouped and must not be used with a dash.
3   GNU long options, which are preceded by two dashes.

GNUtar还支持多种选项样式。

作为使用的问题,如果可以确保脚本将在兼容的环境中运行,则最好使用脚本中的长选项-调试时可以提高清晰度。为了便于携带,首选短选项。


真是个好答案。谢谢。
张鹏

4

通常-选项可以链接在一起,例如pacman -Syu,等同于pacman -S -y -u和-选项通常采用如下所示的参数./configure --prefix=/usr

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.