Linux 下可执行程序的 Shell 传参格式规范
1. Linux 下可执行程序的 Shell 传参格式规范
Linux 下的可执行程序在运行时经常需要传一些参数,而这些参数是有规范的。包括我们自己写的在 Linux 系统下运行的 Shell 脚本、Python 脚本等可执行程序,最好也遵循相关规范。我们下面以 Linux 命令为例来讲解参数规范:
Linux 命令行的格式规范如下:
上述命令详细说明如下:
一行命令中第一个输入的部分绝对是命令(command)或可执行文件(例如 Shell 脚本)。
中括号
[]
并不存在于实际的命令中,表示该参数是可选的,而加入选项设置时,通常选项前会带-
符号,例如-h
;如果要使用选项的完整全名,选项前会带--
符号,例如--help
。parameter1
,parameters2
可以为依附在选项后面的参数,也可以为command
的参数。命令、选项、参数之间以空格来区分,无论空几格 Shell 都视为一格,所以空格是很重要的特殊字符。
命令太长的时候,可使用反斜杠(
\
)来转义回车键,使命令连续到下一行(注意,换行符属于特殊字符,而反斜杠后立刻接着特殊字符才能转义)。
此外,需要注意在 Linux 系统中英文大小写字母是不一样的,例如cd
命令和CD
并不同。
2. 实例
我们下面举几个命令的传参实例。
ls
为命令名。-al
是-a -l
的简写,意为使用-a
(列出包括隐藏文件在内的所有文件)与-l
(列出文件属性)这两个选项。~
为ls
命令的参数,意为家目录。
tar
为命令名。-xv
意为使用-x
(解压操作)与-v
(可视化解压过程)这两个选项。-f
意为指定压缩文件的名称,后面依附着test3.zip
做为该选项的参数。-C
意为指定解压后的目录,后面依附着.
(当前目录)做为该选项的参数。
当我们直接在 Shell 中键入man command
查看命令操作说明(manual)时,可以看到文档中对参数格式有详细描述:
像其他可执行程序(如 Git)一般也会遵循类似的传参规范:
可以看到,git
在设置--
开头的选项的参数时就希望我们采用=
赋值方式,如--git_dir=/home/domain/.git
,这种方式比--git_dir /home/domain/.git
更为直观。
Python 脚本的运行也采用类似的传参风格,如:
版权声明: 本文为 InfoQ 作者【乌龟哥哥】的原创文章。
原文链接:【http://xie.infoq.cn/article/ec920d4b62654b5d0f43918e3】。文章转载请联系作者。
评论