代码之家  ›  专栏  ›  技术社区  ›  Linh Trần Quang

如何编写proc-tcl脚本作为shell终端上的命令行,并添加选项,还可以标记此选项?

  •  0
  • Linh Trần Quang  · 技术社区  · 4 年前

    我想写一个tcl脚本,它将有一个proc,当我执行脚本时,我可以在tcsh终端上使用该proc作为命令行,我也可以将option与它一起使用,还可以按Tab键显示选项或填写(如果这是唯一的选项)。 例如,我希望它能够像这样工作:

    #!/usr/bin/tclsh
    proc test {} {}
    $ test file1 -option1 true -option2 file2 -Option3 0
    
    • 就像这样:当我写的时候: $ test file1 - 然后按Tab键,我可以看到: -option1 -option2 -Option3 如果我继续按O,选项会自动填充 -Option3

    基本上,我正在尝试编写一个tcl脚本,它允许我用作命令行,像其他命令一样使用,但使用我在脚本中编写的选项和函数。

    0 回复  |  直到 4 年前
        1
  •  1
  •   Shawn    4 年前

    这真的与 tcl ,以及与之相关的一切 tcsh s complete 内建,用于定义特定命令的自定义补全。实例

    % complete ./foo.tcl "C/-o*/( -option1 -option2 -option3)/" "n/-option2/f/"
    % ./foo -op<tab>
    -option1 -option2 -option3 
    % ./foo -option<cursor here>
    % ./foo -option2 <tab>
    <list of files>
    

    有关内置的更多详细信息,请参阅手册页。

    如果您绑定 complete-word-fwd complete-line-back 编辑器命令到某些组合键,您可以使用它们滚动浏览可能的选项。

    所以,基本上,写一个 tcsh 调用的脚本 完成 设置您想要的完成选项,以及 source 它。你甚至可以创建 tcl 为参数创建脚本的脚本;确切的细节取决于你用来解析它们的方法- tcllib s cmdline 包,您的自定义代码,还是其他什么?

    推荐文章