Unix shell命令的一般语法是什么?
特别是,为什么有时某些命令的选项前面有一个符号,有时候是一个符号?
例如: sort -f sort -nr sort +4n sort +3nr 解决方法
目前,使用
getopt() (又名
getopt(3) )的POSIX标准被广泛用作标准符号,但在早期,人们正在进行实验.在某些计算机上,sort命令不再支持该表示法.但是,各种命令(特别是ar和tar)接受没有任何前缀字符的控件 – 而dd(Alok在评论中提到)完全使用另一个约定.
使用’ – ‘作为长选项的GNU约定(由 POSIX记录了它适用的Utility Conventions,除非历史先例更强. 有哪些款式的期权处理? [有一段时间,SO 367309包含以下材料作为我的答案.它最初是在FerranB被问到2008-12-15 02:02,但随后被关闭并被删除. 您认识到多少种不同类型的选项?我能想到 >单字母选项以单个破折号开头,有分组时可分组 对于采用可选参数的选项,有时必须附加参数(co -p1.3 rcsfile.c), 所有合理的期权系统都使用由双破折号组成的选项 许多但不是所有程序都接受单个破折号作为文件名 ... | tar -cf - -F - | ... 第一个独奏短跑意味着’写入stdout’;第二个意思是’读取文件 有些程序使用其他约定 – 也就是说,选项前面没有a tar cvzf /tmp/somefile.tgz some/directory dd命令仅使用opt = value: dd if=/some/file of=/another/file bs=16k count=200 某些程序允许您交错选项和其他参数 请注意,git和其他VCS命令通常使用混合系统: git commit -m 'This is why it was committed' 有一个子命令作为参数之一.通常,可以在命令和子命令之间指定可选的“全局”选项.在POSIX中有这样的例子; 我不同系统之间没有强烈的偏好.什么时候 有些事我反对.其中一个最差的是相同的 另一个令人反感的行为是处理方式的不一致 与许多(与软件相关的)事物一样 – 一致性更高 无论你做什么,请阅读TAOUP’s Command-Line Options和 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |