Linux git中的破折号是什么?例如:-a-b-p
我大体上知道他们是干什么的,但他们是从哪里来的?他们有正式的名字吗?我在shell命令中也经常看到类似的字母后跟破折号 在快速搜索之后,我找不到答案,因为我无法搜索“-a”“-b”等,因为搜索引擎没有找到破折号Linux git中的破折号是什么?例如:-a-b-p,linux,git,bash,shell,Linux,Git,Bash,Shell,我大体上知道他们是干什么的,但他们是从哪里来的?他们有正式的名字吗?我在shell命令中也经常看到类似的字母后跟破折号 在快速搜索之后,我找不到答案,因为我无法搜索“-a”“-b”等,因为搜索引擎没有找到破折号 编辑:我找到了一个搜索引擎来查找如下内容:它们通常被称为选项;像getopt和popt这样的编程工具或多或少以标准方式解析它们。在Unix中,您会到处遇到它们,例如标准的ls-l选项,它以“长格式”而不是短格式列出 -的要点并不是说它只是一个任意但常规的字符,很少出现在文件名或分支的开头
编辑:我找到了一个搜索引擎来查找如下内容:它们通常被称为选项;像
getopt
和popt
这样的编程工具或多或少以标准方式解析它们。在Unix中,您会到处遇到它们,例如标准的ls-l
选项,它以“长格式”而不是短格式列出
-
的要点并不是说它只是一个任意但常规的字符,很少出现在文件名或分支的开头,因此在工具中比较容易区分“行为不同”和“操作此对象”。这些被称为开关。它们在命令行中非常常见。大多数开源软件(比如git)都使用像getopt这样的库来读取这些文件。格式非常可预测:
- -a[值](用于单字母开关)
- --名称[=值](用于拼写的开关)
在这两种情况下,根据开关的不同,可能需要值,也可能不需要值。在您的示例中,没有使用它们。阅读手册页或运行
命令--help
通常会告诉您支持哪些开关。破折号标记命令的选项。因此,-a
是一个选项,-b
是另一个选项
有破折号的原因是为了让您和命令知道它是一个选项。那么比如说,
git commit --amend main.c
--amend
前面的破折号清楚地表明,--amend
是一个选项,而main.c
没有破折号,因此它是一个常规参数
几乎所有的shell命令都是这样。有关更多详细信息,请参见。除了在其他答案中已解释的内容外,请注意,还有一个
git帮助
com,它将提供有关所有子命令选项的信息
例如,在git help commit的输出中,您将看到以下内容:
选择权
-a, --all
Tell the command to automatically stage files that have been modified and deleted, but new files you have not
told git about are not affected.
啊,就是说,这个选项是用一个完整的单词拼写出来的。谢谢,我一直在想这个问题。谢谢,我一直在想-和-之间的区别,直到今天你和jcollado的帖子。谢谢你简洁的回答,这就是我想要的。