加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

GNU 呼吁尺度的实践运用

发布时间:2021-05-23 05:09:21 所属栏目:教程 来源:互联网
导读:当我们在开拓 FinSH 时,我们相识到,在编写呼吁行应用措施之前,你必要认识 GNU 呼吁行尺度。这个尺度实践的框架有助于给界面带入认识感,这有助于开拓职员在使

当我们在开拓 FinSH 时,我们相识到,在编写呼吁行应用措施之前,你必要认识 GNU 呼吁行尺度。这个尺度实践的框架有助于给界面带入认识感,这有助于开拓职员在行使时感想舒服和高效。

一个完备的 GNU 呼吁首要由四个部门构成。

呼吁名(可执行文件):呼吁行措施的名称;

子呼吁:呼吁措施的子函数名称。

选项:子呼吁函数的设置选项。

参数:子呼吁函数设置选项的响应参数。

你可以在任何呼吁中看到这一点。以 Git 为例:

gitreset--hard HEAD~1

这一点可以解析为:

可执行的呼吁是 git,子呼吁是 reset,行使的选项是 --head,参数是 HEAD~1。

再举个例子:

systemctl enable --now firewalld

可执行的呼吁是 systemctl,子呼吁是 enable,选项是 --now,参数是 firewalld。

想象一下,你想用 RT-Thread 编写一个切合 GNU 尺度的呼吁行措施。FinSH 拥有你所必要的统统,而且会凭证预期运行你的代码。更棒的是,你可以依赖这种合规性,让你可以自信地移植你最喜好的 Linux 措施。

编写一个优雅的呼吁行措施

下面是一个 RT-Thread 运行呼吁的例子,RT-Thread 开拓职员天天都在行使这个呼吁:

usage:env.py package[-h][--force-update][--update][--list][--wizard]

                      [--upgrade][--printenv]

 

optional arguments:

  -h,--help      show this help message andexit

  --force-update  force update and clean packages, install or remove the

                  packages by your settings in menuconfig

  --update        update packages, install or remove the packages by your

                  settings in menuconfig

  --list          list target packages

  --wizard        create a newpackagewith wizard

  --upgrade       upgrade local packages listand ENV scripts fromgit repo

  --printenv      print environmental variables to check

正如你所看到的那样,它看起来很认识,举动就像你也许已经在 Linux 或 BSD 上运行的大大都 POSIX 应用措施一样。当行使不正确或不充实的语法时,它会提供辅佐,它支持长选项和短选项。这种通用的用户界面临付任何行使过 Unix 终端的人来说都是认识的。

选项种类

选项的种类许多,按黑白可分为两大类。

短选项:由一个连字符加一个字母构成,如 pkgs -h 中的 -h 选项。

长选项:由两个连字符加上单词或字母构成,譬喻,scons- --target-mdk5 中的 --target 选项。

你可以把这些选项分为三类,由它们是否有参数来抉择。

没有参数:该选项后头不能有参数。

参数必选:选项后头必需有参数。

参数可选:选项后可以有参数,但不是必须的。

正如你对大大都 Linux 呼吁的祈望,FinSH 的选项理会很是机动。它可以按照空格或等号作为定界符来区分一个选项和一个参数,可能仅仅通过提取选项自己并假设后头的内容是参数(换句话说,完全没有定界符)。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读