Unix shell命令的一般语法是什么?

时间:2010-01-29 05:32:08

标签: unix shell sorting

特别是,为什么有时候某些命令的选项前面有一个+符号,有时候一个-符号?

例如:

sort -f
sort -nr
sort +4n
sort +3nr

4 个答案:

答案 0 :(得分:21)

答案 1 :(得分:5)

完全是武断的;该命令可以以其自己的特殊方式实现所有选项处理,或者它可以调用其他一些便利函数。 getopt()系列函数非常流行,因此大多数最近编写的软件都遵循这些例程设置的约定。当然总有例外!

答案 2 :(得分:1)

应用程序需要解析选项,因此不一致。扩展您的排序示例,这些对于coreutils来说都是等效的:

sort -k3
sort --k 3
sort --key 3
sort --key=3
_POSIX2_VERSION=199209 sort +2

答案 3 :(得分:1)

shell命令只是一个程序,它可以随意解释其命令行。 Unix从来没有像Apple的接口警察那样确保命令行界面在应用程序之间保持一致。因此,存在不一致性,尤其是在较旧的命令中。

凝视我的水晶球,我认为命令行工具将慢慢迁移到GNU标准,双破折号和所有。 (我从单身短划线长大后仍然发现双击非常笨拙,但 一致。)

相关问题