萌新想问问关于各种 shell 的命令的选项/参数的问题。

2020-05-26 18:24:00 +08:00
 Zorua
绝大多数情况下,在 cmd 中选项以 / (斜杠)开头出现,在 bash 中则是以 - (连字符),或 -- (两个连字符)出现。
但是在 cmd 中也会遇到 - 的选项,例如 python -version,mysql -u 。
也有部分程序,在 cmd 中使用时,选项是 / 的,bash 中则是 - 的。(例如我这几天在学习 masm32 的 ml.exe )
想知道一些关于这个选项 /参数的细节。例如程序的选项是由程序开发者决定还是 shell 来决定的。
谢谢各位大佬解答!
619 次点击
所在节点    问与答
2 条回复
calloc
2020-05-27 00:48:37 +08:00
程序开发者去解析的,例如在 Linux C 中可以用 getopt 函数去处理这些命令行参数 https://www.ibm.com/developerworks/cn/aix/library/au-unix-getopt.html
Zorua
2020-05-27 10:38:26 +08:00
@calloc 谢谢您的解答。我仔细阅读了您提供的文档。但是感觉这个文档只说明了,选项 /参数的实际名称是由程序开发者确定的。因此我仍不明白前缀的 / 和 - (--)是由什么来决定的。例如为什么我在 cmd 中使用 python/pip/gcc/netstat 等指令时,接的参数是"-"打头的,而 dir/shutdown/copy 指令的参数是"/"打头的;在 bash 中使用 masm32 的 ml 指令时,参数是 "-"打头的,而在 cmd 中,是以"/"打头的。再次感谢您的解答。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/675714

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX