V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Zorua
V2EX  ›  问与答

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

  •  
  •   Zorua · 2020-05-26 18:24:00 +08:00 · 659 次点击
    这是一个创建于 1645 天前的主题,其中的信息可能已经有所发展或是发生改变。
    绝大多数情况下,在 cmd 中选项以 / (斜杠)开头出现,在 bash 中则是以 - (连字符),或 -- (两个连字符)出现。
    但是在 cmd 中也会遇到 - 的选项,例如 python -version,mysql -u 。
    也有部分程序,在 cmd 中使用时,选项是 / 的,bash 中则是 - 的。(例如我这几天在学习 masm32 的 ml.exe )
    想知道一些关于这个选项 /参数的细节。例如程序的选项是由程序开发者决定还是 shell 来决定的。
    谢谢各位大佬解答!
    2 条回复    2020-05-27 10:38:26 +08:00
    calloc
        1
    calloc  
       2020-05-27 00:48:37 +08:00 via iPhone
    程序开发者去解析的,例如在 Linux C 中可以用 getopt 函数去处理这些命令行参数 https://www.ibm.com/developerworks/cn/aix/library/au-unix-getopt.html
    Zorua
        2
    Zorua  
    OP
       2020-05-27 10:38:26 +08:00
    @calloc 谢谢您的解答。我仔细阅读了您提供的文档。但是感觉这个文档只说明了,选项 /参数的实际名称是由程序开发者确定的。因此我仍不明白前缀的 / 和 - (--)是由什么来决定的。例如为什么我在 cmd 中使用 python/pip/gcc/netstat 等指令时,接的参数是"-"打头的,而 dir/shutdown/copy 指令的参数是"/"打头的;在 bash 中使用 masm32 的 ml 指令时,参数是 "-"打头的,而在 cmd 中,是以"/"打头的。再次感谢您的解答。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5507 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 08:44 · PVG 16:44 · LAX 00:44 · JFK 03:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.