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 的选项理会很是机动。它可以按照空格或等号作为定界符来区分一个选项和一个参数,可能仅仅通过提取选项自己并假设后头的内容是参数(换句话说,完全没有定界符)。 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |