Linux:可执行程序的Shell传参格式规范

1. Linux下可执行程序的Shell传参格式规范

Linux下的可执行程序在运行时经常需要传一些参数,而这些参数是有规范的。包括我们自己写的在Linux系统下运行的Shell脚本、Python脚本等可执行程序,最好也遵循相关规范。我们下面以Linux命令为例来讲解参数规范:

Linux命令行的格式规范如下:

orion-orion@MyDesktop ~ % command [-options] parameter1 parameter2

上述命令详细说明如下:

此外,需要注意在Linux系统中英文大小写字母是不一样的,例如 cd命令和 CD并不同。

2. 实例

让我们给出一些传递命令参数的例子。

[En]

Let’s give some examples of passing parameters of commands.

ls -al ~

ls为命令名。 -al-a -l的简写,意为使用 -a(列出包括隐藏文件在内的所有文件)与 -l(列出文件属性)这两个选项。 ~ls命令的参数,意为家目录。

tar -xvf test3.zip -C .

tar为命令名。 -xv意为使用 -x(解压操作)与 -v(可视化解压过程)这两个选项。 -f意为指定压缩文件的名称,后面依附着 test3.zip做为该选项的参数。 -C意为指定解压后的目录,后面依附着 .(当前目录)做为该选项的参数。

注意, -f test3.zip也可以写成 --file test3.zip--file=test3.zip(为 --开头的选项设置参数时都可以使用等号赋值)。

当我们直接在Shell中键入 man command查看命令操作说明(manual)时,可以看到文档中对参数格式有详细描述:

TAR(1)                       General Commands Manual                      TAR(1)

NAME
     tar – manipulate tape archives

SYNOPSIS
     tar [bundled-flags ⟨args⟩] [⟨file⟩ | ⟨pattern⟩ ...]
     tar {-c} [options] [files | directories]
     tar {-r | -u} -f archive-file [options] [files | directories]
     tar {-t | -x} [options] [patterns]

像其他可执行程序(如Git)一般也会遵循类似的传参规范:

GIT(1)                             Git Manual                             GIT(1)

NAME
       git - the stupid content tracker

SYNOPSIS
       git [--version] [--help] [-C <path>] [-c <name>=<value>]
           [--exec-path[=<path>]] [--html-path] [--man-path] [--info-path]
           [-p|--paginate|-P|--no-pager] [--no-replace-objects] [--bare]
           [--git-dir=<path>] [--work-tree=<path>] [--namespace=<name>]
           [--super-prefix=<path>] [--config-env <name>=<envvar>]
           <command> [<args>]
</args></envvar></name></path></name></path></path></path></value></name></path>

可以看到, git在设置 --开头的选项的参数时就希望我们采用 =赋值方式,如 --git_dir=/home/domain/.git,这种方式比 --git_dir /home/domain/.git更为直观。

Python脚本的运行也采用类似的传参风格,如:

python3 search.py -v -p spam --pat=eggs foo.txt bar.txt -o results \
    --speed=fast

具体如何用Python编写解析命令行选项的程序,我们下一节再展开叙述。

  • [1] 鸟哥. 鸟哥的 Linux 私房菜: 基础学习篇[M]. 人民邮电出版社, 2018.

Original: https://www.cnblogs.com/orion-orion/p/16290123.html
Author: orion-orion
Title: Linux:可执行程序的Shell传参格式规范

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/523561/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球