Zorua
V2EX  ›  问与答

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

  •  
  •   Zorua · May 26, 2020 · 964 views
    This topic created in 2202 days ago, the information mentioned may be changed or developed.
    绝大多数情况下,在 cmd 中选项以 / (斜杠)开头出现,在 bash 中则是以 - (连字符),或 -- (两个连字符)出现。
    但是在 cmd 中也会遇到 - 的选项,例如 python -version,mysql -u 。
    也有部分程序,在 cmd 中使用时,选项是 / 的,bash 中则是 - 的。(例如我这几天在学习 masm32 的 ml.exe )
    想知道一些关于这个选项 /参数的细节。例如程序的选项是由程序开发者决定还是 shell 来决定的。
    谢谢各位大佬解答!
    2 replies    2020-05-27 10:38:26 +08:00
    calloc
        1
    calloc  
       May 27, 2020 via iPhone
    程序开发者去解析的,例如在 Linux C 中可以用 getopt 函数去处理这些命令行参数 https://www.ibm.com/developerworks/cn/aix/library/au-unix-getopt.html
    Zorua
        2
    Zorua  
    OP
       May 27, 2020
    @calloc 谢谢您的解答。我仔细阅读了您提供的文档。但是感觉这个文档只说明了,选项 /参数的实际名称是由程序开发者确定的。因此我仍不明白前缀的 / 和 - (--)是由什么来决定的。例如为什么我在 cmd 中使用 python/pip/gcc/netstat 等指令时,接的参数是"-"打头的,而 dir/shutdown/copy 指令的参数是"/"打头的;在 bash 中使用 masm32 的 ml 指令时,参数是 "-"打头的,而在 cmd 中,是以"/"打头的。再次感谢您的解答。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2603 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 10:42 · PVG 18:42 · LAX 03:42 · JFK 06:42
    ♥ Do have faith in what you're doing.