首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >需要多个参数的实用程序的推荐接口是什么?

需要多个参数的实用程序的推荐接口是什么?
EN

Unix & Linux用户
提问于 2017-11-25 21:27:10
回答 1查看 51关注 0票数 0

我正在构建一个命令行实用程序,它需要六条信息才能正确工作。看起来是这样的:

代码语言:javascript
复制
fm-git filename repository path comment username password

然而,在任何一个系统上,usernamepassword都是恒定的。

在执行该实用程序时,我发现很难构建。例如,下面是对该实用程序的一个测试调用(为了提高可读性,将它分成多行):

代码语言:javascript
复制
/Users/chuck/Projects/fm-git/fm-git.py chiv-lib
/Users/chuck/Projects/chiv-lib/ Chivalry/ "continued testing"
Administrator abc1234

我正在考虑用不同的方法来传递这些论点。例如,fm-git -f filename -r repository ...fm-git --filename filename --repository repository...。我还考虑制作usernamepassword参数配置设置,因为它们通常不会更改,然后可以从实用程序调用中删除它们。

当实用程序参数很多但需要时,维护实用程序调用可读性的公认做法是什么?

EN

回答 1

Unix & Linux用户

发布于 2017-11-26 11:38:58

通常情况下,unix应用程序允许以多种方式提供这些信息,而更“特定”的方式会覆盖较不特定的信息。

所以你有:

  • 对于图形应用程序,所使用的工具包几乎总是提供某种方式来拥有资源(例如,普通X中的xrdb-style等)。
  • 一个配置文件,如果工具箱还没有提供一个配置文件。
  • 命令行选项,短形式和长形式(在C中使用getopt很容易)
  • 如果没有提供任何信息,则为合理的默认值,例如路径的当前目录

位置参数只对少数强制参数有意义,后面可能是文件列表(因为通配符规范扩展为多个参数)。六个单独的片段太多了;顺序很难记住,所以可以选择这些选项。

对于密码,提供一种使应用程序从stdin读取密码的方法是很有帮助的,可能通过使用一个特殊值(例如--password --p -)。

使用应用程序的人可以选择硬编码的密码、配置文件中的密码,或者让用户输入密码是特定用例的最佳选择。

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/407038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档