参数的顺序什么时候很重要?

参数的顺序什么时候很重要?

在bash中,我不确定我的观察是否正确。对于大多数命令,类似选项的参数(即以--abc或开头的参数-a)可以位于命令参数列表中的任何位置,而其他参数在参数列表中具有某个固定位置。

我想知道是否有一些成文/不成文的规则?谢谢!

答案1

简而言之 - 这取决于程序。 bash 所做的是将参数发送到程序的主函数,从那时起,主函数决定如何处理它们。有些程序不关心参数顺序,有些则考虑它。

答案2

这是一个值得注意的示例,其中程序的参数顺序很重要:比较以下输出:

find . -type f -atime 0 -daystart

和:

find . -type f -daystart -atime 0

(在存储文件的驱动器上atime,我这些天需要添加)。有许多网页专门帮助您开始使用find(1),但几乎没有提到这样一个事实:find,其参数的顺序非常特殊。

答案3

man commandName会告诉您这对于您尝试使用的命令是否重要,通常,以某些内容开头的-是修改命令行为的选项,其他内容是命令的参数(您可以将其作为输入)。

相关内容