微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

bash – 术语之间的区别:“选项”,“参数”和“参数”?

这些术语之间有什么区别:“选项”,“参数”和“参数”?在手册页中,这些术语通常似乎可以互换使用.
命令被拆分为名为arguments的字符串数组.参数0(通常)是命令名,参数1,命令后面的第一个元素,依此类推.
$ls -la /tmp /var/tmp
arg0 = ls
arg1 = -la
arg2 = /tmp
arg3 = /var/tmp

选项是修改命令行为的文档类型的参数,例如,-l通常表示“long”,-v verbose. -lv是在单个参数中组合的两个选项.还有很长的选项,比如–verbose.顾名思义,选项通常是可选的.然而,有一些命令具有矛盾的“强制选项”.

$ls -la /tmp /var/tmp
option1= -l
option2= -a

参数是一个参数,它为命令或其中一个选项提供信息,例如:在-o文件中,file是-o选项的参数.与可能的值在程序中硬编码的选项不同,参数通常不是这样的,用户可以自由地使用适合他/她需要的任何字符串.如果您需要传递看起来像一个选项但不应该被解释为的参数,您可以使用双短划线将其与命令行的开头分开: – .

$ls -la /tmp /var/tmp
parameter1= /tmp
parameter2= /var/tmp

$ls -l -- -a
option1    = -l
parameter1 = -a

最后,有一些子命令,也称为函数/(低级)命令,它们与“元命令”一起使用,它嵌入了多个单独的命令,如busyBox,git,apt-get,openssl等.使用它们,您可以在子命令之前使用全局选项,并在子命令之后使用子命令特定选项.与参数不同,可能的子命令列表在命令本身中是硬编码的.例如.:

$busyBox ls -l
command            = busyBox
subcommand         = ls
subcommand option1 = -l

$git --git-dir=a.git --work-tree=b -C c status -s
command            = git
command option1    = --git-dir=a.git
command option2    = --work-tree=b
command option3    = -C
subcommand         = status
subcommand option1 = -s

请注意,某些命令(如test,tar,dd和find)具有比前面描述的更复杂的参数解析语法,并且可以将其部分或全部参数解析为表达式,操作数,键和类似的命令特定组件.

原文地址:https://www.jb51.cc/bash/387246.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐