shell脚本技术贴入门

时间: 2023-07-02 21:01:59 浏览: 70
### 回答1: Shell脚本是一种通过编写一系列命令来实现自动化任务的脚本语言。它是一种在Unix或类Unix操作系统中常见的解释性编程语言。 Shell脚本是一种非常实用的技术,可以用于各种任务,例如批量处理文件、管理系统配置和自动化任务等。 学习Shell脚本技术的入门步骤如下: 1. 学习Shell语法:Shell脚本使用的是Shell语言的语法,因此需要先掌握Shell语法规则。可以通过在线教程或书籍学习Shell语法,理解脚本的结构、变量、条件判断、循环等基本概念。 2. 选择合适的Shell:常见的Shell有Bash(Bourne Again SHell)、Csh(C SHell)、Ksh(Korn SHell)等。Bash是最常用的Shell,适合大多数任务。选择一个Shell并深入学习它的功能和用法。 3. 编写简单的脚本:从简单的任务开始,例如创建一个Hello World脚本,尝试运行并查看结果。逐步增加复杂性,编写一些实用的脚本。可以使用编辑器,例如Vi或Nano,在终端中编写脚本。 4. 理解常用命令:Shell脚本是通过命令来完成任务的,因此需要熟悉一些常用的命令,例如ls、cd、grep、awk、sed等。可以通过查阅Shell命令文档或在线教程来学习这些常用命令的用法。 5. 学习脚本编程技巧:掌握一些高级的脚本编程技巧,例如重定向输入输出、处理命令行参数、使用函数和循环等。这些技巧可以增强脚本的功能和灵活性。 总之,学习Shell脚本技术需要掌握Shell语法,选择合适的Shell,并通过编写简单的脚本、学习常用命令和掌握脚本编程技巧来逐步提高技能。随着经验的积累,可以处理更加复杂的任务,并更高效地管理和自动化系统。 ### 回答2: shell脚本技术是一种编程语言技术,用于操作和自动化Linux和Unix操作系统下的命令行界面。它可以帮助用户通过一系列的命令组合和逻辑控制实现复杂的任务和操作。 要使用shell脚本技术,首先要了解基本的shell语法和命令。shell脚本是由一系列的命令和控制结构组成的文本文件。常见的shell是Bash,可以在终端中输入"bash"命令来启动。 在脚本中,我们可以使用变量来存储数据和结果。变量可以通过赋值来创建,例如: ``` name="John" ``` 然后可以通过"$"符号进行引用,例如: ``` echo "My name is $name" ``` 除了变量,我们还可以使用条件语句和循环结构来控制程序的执行流程。条件语句可以根据条件的真假执行不同的操作,例如: ``` if [ $age -ge 18 ]; then echo "You are an adult" else echo "You are a minor" fi ``` 循环结构可以用来重复执行一段代码,例如: ``` for i in {1..5}; do echo "Number: $i" done ``` 另外,shell脚本还支持函数的定义和调用。函数是一段可以被重复使用的代码块,例如: ``` function greet { echo "Hello, $1!" } greet "Alice" ``` shell脚本技术可以用于实现很多自动化任务,比如文件操作、系统管理、数据处理等。通过编写简单的脚本,我们可以减少重复的工作和简化复杂的操作流程。 总之,掌握shell脚本技术可以帮助我们更好地管理和操作Linux和Unix系统,提高工作效率。希望这个简单的入门介绍能给您一些帮助。 ### 回答3: Shell脚本是一种编程语言,通常用于自动化执行系统任务和命令。它是在操作系统上运行的命令行解释器,可以直接与操作系统交互。下面是Shell脚本技术的入门指南。 首先,了解Shell脚本的基本语法和结构非常重要。Shell脚本使用一系列命令来执行任务,可以通过编写一系列的命令来实现特定目的。可以使用任何文本编辑器编写Shell脚本,并将其保存为以.sh为扩展名的文件。 熟悉Shell脚本的变量和参数也很重要。Shell脚本中可以使用变量来存储和处理数据。变量使用$符号进行引用,例如$变量名。同时,还可以使用特殊变量(如$0表示脚本名称,$1表示第一个参数)来获取脚本的参数。 掌握条件判断和循环结构也是必不可少的。Shell脚本可以使用if语句来进行条件判断,根据条件的结果执行不同的命令。同时,可以使用for循环和while循环进行重复执行一系列的命令。 了解Shell脚本中的输入和输出是非常重要的。可以使用特定命令来获取用户的输入,如read命令。同时,可以使用echo命令将数据输出到屏幕上。还可以使用重定向和管道来重定向命令的输出或将多个命令连接起来。 熟悉Shell脚本中的函数和文件操作也是必要的。可以使用函数来组织和重复使用特定命令序列。同时,可以使用命令来对文件进行读取、写入和操作。 最后,要实践并练习Shell脚本技术。可以编写一些简单的脚本来完成常见的系统任务,如文件处理、文本处理、系统管理等。通过不断地实践和尝试,逐渐提高对Shell脚本的理解和掌握。 总之,通过学习Shell脚本的基本语法、变量和参数、条件判断和循环结构、输入和输出、函数和文件操作,并进行实践和练习,可以逐步掌握Shell脚本技术,从而能够更好地利用它来简化和自动化系统任务与操作。

相关推荐

### 回答1: Linux shell脚本编程是在Linux系统上使用shell进行编程的方式。常用的shell有bash、sh、csh、tcsh等。 入门步骤如下: 1. 创建一个文本文件,文件名以".sh"结尾,表示这是一个shell脚本。 2. 编写脚本内容,脚本内容主要由Linux命令和shell语句组成。 3. 修改文件权限,使脚本文件可执行。 4. 运行脚本,通过在终端中输入“./脚本文件名”来执行脚本。 编写一个简单的脚本示例: #!/bin/bash echo "Hello, World!" 第一行表示使用bash shell来执行这个脚本 第二行是一个命令,输出一个字符串 执行方式: chmod +x script_name.sh ./script_name.sh 如果想了解更多关于Linux shell脚本编程的知识,可以参考Linux shell教程或者使用"man bash"命令来查看bash命令手册。 ### 回答2: Shell是一个命令解释器,是Linux/Unix系统中的一种重要工具,它提供了一个命令行界面,允许用户与操作系统进行交互。Shell脚本编程是将一系列Shell命令进行组合,以解决自动化任务、文件操作、编译工具和其他日常任务的编程技术。 Shell脚本是一个文本文件,文件名通常以“.sh”作为后缀名。脚本文件以#! /bin/bash或#! /bin/sh等开头,然后是脚本命令。在Shell脚本编程中,需要掌握以下几个方面: 1.基本语法:Shell脚本语法和其他编程语言一样,包括变量定义、数学计算、逻辑控制、循环操作等。 2.变量:Shell脚本中使用变量存储数据,可以通过赋值运算符“=”定义变量,也可以通过参数传递给脚本。需要注意的是,Shell变量不需要显式声明数据类型,也不能用“$”前缀定义变量。 3.重定向:Shell脚本中通过重定向符“>”、“>>”、“<”和“<<”来控制标准输入/输出和错误输出,非常方便输出数据和错误信息以及读取文件数据。 4.管道:Shell脚本中使用“|”符号来建立管道,将一个命令的输出作为另一个命令的输入,实现数据流的处理和转换功能。 5.循环和分支:在Shell脚本编程中,循环和分支语句的使用非常重要,可以实现复杂的逻辑功能,例如for、while、until循环和if、case语句。 在实际应用中,Shell脚本可以用于各种系统自动化操作,例如服务器备份、日志分析、批量文件操作、软件编译、自动安装等。此外,Shell脚本还可以与其他编程语言(例如Python、Perl)结合使用,形成更强大的脚本解决方案。 总的来说,Shell脚本编程是Linux系统中非常重要的一项技能,掌握Shell脚本基础语法和常用命令是必须的,可以帮助您更高效地完成日常的操作和管理任务。掌握Shell脚本编程后,您可以更深入地理解Linux系统工作原理,提高自身的技术水平和工作效率。 ### 回答3: Linux shell脚本编程是一种编写通用命令行脚本的方法。在 Linux 系统中,shell是一个命令行解释器,可以执行用户输入的命令。通过编写shell脚本,我们可以轻松地将多个Linux命令整合在一个脚本中,自动化完成一系列工作。 在学习 Linux shell脚本编程之前,需要掌握基本的Linux命令和shell语法,比如条件判断、循环等基本语句。另外,了解Linux文件系统、文件读写等操作也是必备的知识。 从最简单的开始,编写一个输出Hello World的脚本: bash #!/bin/bash # 指定使用哪种shell echo "Hello World!" # 输出Hello World 在这个例子中,我们使用了 #!/bin/bash 来声明我们使用的是Bash shell,并使用 echo 命令输出一个字符串。 接下来,我们可以学习基本的控制语句,例如条件语句和循环语句。条件语句可以用来根据变量值来执行不同的命令: bash #!/bin/bash var="Hello World!" if [ $var == "Hello World!" ]; then echo "Equal!" else echo "Not equal." fi 在这个例子中,我们使用 if 和 else 语句来判断变量的值是否等于“Hello World!”,然后根据结果执行相应的命令。 另一个常见的控制语句是循环语句,可以用于重复执行一组命令: bash #!/bin/bash for i in 1 2 3 4 5 do echo "Number: $i" done 在这个例子中,我们使用 for 循环来输出数字1-5。 除了基本的控制结构,shell脚本还支持参数处理和函数定义等高级语法。使用 getopts 命令可以方便地解析脚本参数: bash #!/bin/bash USAGE="Usage: $0 -f <filename> -n <num_lines>" while getopts ":f:n:" opt; do case $opt in f) file=$OPTARG ;; n) num_lines=$OPTARG ;; \?) echo "Invalid option: -$OPTARG" >&2 echo "$USAGE" >&2 exit 1 ;; :) echo "Option -$OPTARG requires an argument." >&2 echo "$USAGE" >&2 exit 1 ;; esac done echo "Printing $num_lines lines from $file:" head -n $num_lines $file 在这个例子中,我们使用 getopts 命令和 case 语句来解析脚本参数,然后根据参数执行相应的命令。 最后,我们还可以定义函数,用于重复使用一组命令: bash #!/bin/bash function print_number { echo "Number: $1" } for i in 1 2 3 4 5 do print_number $i done 在这个例子中,我们定义了一个名为 print_number 的函数,函数以一个参数为输入并输出字符串。 通过学习以上例子,我们可以了解到Linux shell脚本编程的基础语法和基本知识。在实践中,我们可以根据实际需求编写多种脚本来完成不同的任务,使Linux系统自动化执行一系列操作。
### 回答1: Shell脚本是一种编程语言,可以用来自动化执行一系列命令。流程控制是Shell脚本中的重要概念,它可以让脚本根据不同的条件执行不同的命令。以下是Shell脚本入门流程控制的步骤: 1. 学习基本语法:Shell脚本的基本语法包括变量、函数、条件语句、循环语句等。需要先掌握这些基本语法,才能进行流程控制。 2. 理解条件语句:条件语句可以让脚本根据不同的条件执行不同的命令。常见的条件语句有if语句、case语句等。 3. 掌握循环语句:循环语句可以让脚本重复执行一系列命令,直到满足某个条件。常见的循环语句有for循环、while循环等。 4. 组合流程控制语句:在实际应用中,常常需要组合使用条件语句和循环语句,以实现更复杂的流程控制。 5. 实践练习:通过实践编写一些简单的Shell脚本,加深对流程控制的理解和掌握。 总之,掌握Shell脚本的流程控制是编写高效、灵活的脚本的关键。需要不断学习和实践,才能掌握这一技能。 ### 回答2: 在学习shell脚本时,流程控制是一个非常关键的概念。它指的是在脚本执行期间,根据条件或者需要,在特定的时刻控制程序流程的方式。以下是一些入门流程控制的知识点。 1. 条件语句:if-elif-else语句 if-elif-else是一种基本的条件语句,用于根据不同的条件执行不同的语句块。其语法如下: if 条件1; then 语句块1 elif 条件2; then 语句块2 else 语句块3 fi 例如: if [ $a -gt $b ]; then echo "a > b" elif [ $a -lt $b ]; then echo "a < b" else echo "a = b" fi 2. 循环语句:for和while语句 for语句可以用于遍历列表或者执行一段代码固定的次数,其语法如下: for item in 列表; do 语句块 done 例如: for file in $(ls); do echo $file done while语句可以用于在某个条件满足时反复执行一段代码,其语法如下: while [ 条件 ]; do 语句块 done 例如: while true; do echo "hello world!" sleep 1 done 3. 跳出循环:break和continue break语句可以用于跳出当前的循环,其语法如下: for i in $(seq 1 10); do if [ $i -eq 5 ]; then break fi echo $i done continue语句可以用于跳过循环中的某个步骤,继续执行下一轮循环,其语法如下: for i in $(seq 1 10); do if [ $i -eq 5 ]; then continue fi echo $i done 以上就是shell脚本入门流程控制的一些基本知识点。可以通过不断练习和实践,在实际的脚本编写中熟练掌握这些语法,来实现更高效、灵活的脚本编写。 ### 回答3: Shell脚本是一种文本文件,其中包含了一系列的Shell命令。在Linux中,Shell脚本是一种非常常见的自动化工具,可用于自动化执行任务。Shell脚本不仅可以用于自动化执行任务,还可以用于流程控制。 Shell脚本流程控制主要包括以下几种: 1. 条件语句 Shell脚本条件语句主要包括if-then语句和case语句。if-then语句是用于检查条件是否为真的语句,如果条件为真,则执行then中的命令。case语句则可以匹配多个条件,如果匹配成功,则执行相应的命令。 2. 循环语句 Shell脚本循环语句主要包括for、while、until等语句。for循环语句通常用于遍历数组或者一系列的值。while和until循环语句则可以用于重复执行多个命令,直到满足条件为止。 3. 函数语句 Shell脚本函数语句可以用于封装一组命令,以便可以在需要的时候使用。定义函数需要使用function命令,函数可以有参数和返回值。 4. 跳转语句 跳转语句可以用于从一个语句跳转到另一个语句,包括break、continue、return等语句。break语句可以在循环语句中使用,用于退出循环。continue语句可以跳过循环中的某些命令,继续执行循环。return语句用于从函数中返回值。 5. 注释语句 Shell脚本中的注释可以用于解释代码的功能和用途,也可以用于临时禁用某些命令。注释语句以#开头,可以在一行中或者多行中使用。 以上是Shell脚本流程控制的基本概念和语法。通过使用这些语句,可以编写出功能强大的Shell脚本,实现自动化流程控制。
### 回答1: Shell脚本入门教程是一种介绍Shell编程语言的基础知识和技能的教程。它包括Shell脚本的语法、变量、条件语句、循环语句、函数、文件操作等内容。通过学习Shell脚本入门教程,可以掌握Shell编程的基本技能,进而编写简单的Shell脚本来完成各种任务。 ### 回答2: Shell脚本是一种通过命令行操作的程序语言,它可以帮助我们更高效地完成各种任务。如果你初学者,以下是Shell脚本的入门教程: Shell脚本的基础知识 Shell脚本是基于Unix/Linux系统的命令行式脚本语言,可以直接调用系统命令和程序,并且具有很强的批处理能力。Shell脚本类似于DOS批处理文件.bat,其文件格式为后缀.sh。通过Shell脚本编写的程序可以执行各种系统操作,例如重定向、管道、环境变量设置等。下面几个例子可以帮助您理解Shell脚本的基本语法: #!/bin/sh echo "Hello World!" 以上代码为Shell脚本的基本框架。第一行声明脚本解释器,第二行输出“Hello World!”。 #!/bin/sh echo "What is your name?" read name echo "Hello, $name!" 以上代码可以通过输入脚本来输入您的名字,然后输出“Hello, 您的名字!”。 Shell脚本的变量 Shell脚本中的变量用于存储值或数据。变量可以是整数、字符串、数组等类型。下面是Shell脚本中的变量声明: message="Hello World!" 以上代码将字符串“Hello World!” 存储在变量中。通过以下代码来调用变量: echo $message 也可以使用反斜杠\,并且使用{}来区分变量: echo ${message} 以上代码单独输出变量值。您还可以将多个变量连接在一起: first_name="John" last_name="Doe" full_name="$first_name $last_name" echo "My name is $full_name." Shell脚本的流程控制 Shell脚本的流程控制,包括if/else、for循环、while循环等,都与其他编程语言相似。下面是一个简单的if/else语句: #!/bin/sh if [ "hello" = "world" ]; then echo "两个字符串相同" else echo "两个字符串不相同" fi 以上代码将输出“两个字符串不相同”,因为hello和world不相同。另外,以下是Shell脚本中for循环的例子: #!/bin/sh for name in John Jake Tim do echo "Hello, $name!" done 以上代码将输出三个“Hello”语句,分别为“Hello, John!”、“Hello, Jake!”和“Hello, Tim!”。 除了这些,还有其他流程控制结构可供选择。 总之,Shell脚本是一种非常强大的编程语言,可以帮助您在Unix/Linux环境下更有效地完成各种任务。几个基本要素(基础语法、变量、流程控制)是Shell脚本入门的必备内容,了解它们将使您更愉快地进行Shell编程。 ### 回答3: Shell脚本入门教程 Shell脚本是一种用于Unix和Linux操作系统的编程技术,它可以使系统管理员和程序员在命令行下实现自动化任务、批量处理和一系列复杂的任务。在本文中,我们将介绍一些Shell脚本的入门知识,让你知晓如何编写一个基本的Shell脚本。 安装和使用Shell 在Linux和Unix上,Shell已经内置在系统中了,所以你无需做任何操作即可使用。你可以通过命令行终端来启动默认的Shell,也可以使用其他命令来切换不同的Shell。 例如,如果你想切换到Bash Shell,可以输入以下命令: $ bash 如果你想将Bash作为默认Shell,可以输入以下命令: $ chsh -s /bin/bash 在开始编写你的第一个Shell脚本之前,你需要理解Shell脚本的文件扩展名和权限。 文件扩展名 Shell脚本的文件扩展名通常为.sh,它标识Shell脚本可以直接使用。你可以在Shell中使用以下命令来编写你的Shell脚本: $ nano myscript.sh 你可以使用vim、gedit或其他文本编辑器来编写Shell脚本,但可以使用nano更容易。 文件权限 在Linux和Unix上,文件权限是一件非常重要的事情。如果你想执行Shell脚本,你需要在文件上设置可执行权限。 你可以使用以下命令来设置文件权限: $ chmod +x myscript.sh 这会将文件的权限更改为可执行,并允许你在Shell脚本中运行它。 Shell脚本的语法和关键字 Shell脚本可以使用不同的语法和关键字来执行不同的任务。以下是一些常见的Shell脚本关键字: 1. 变量 变量是Shell编程的基础。在Shell脚本中,变量是以$符号开头的,例如: $myvar=hello 你可以在Shell脚本中使用变量来存储和传递数据。 2. 条件测试 条件测试用于测试条件是否为真,可以在Shell脚本中使用if和test命令来实现,例如: if [ $var -eq 0 ]; then echo "var is zero"; fi 这将在变量var等于0时输出"var is zero"。 3. 循环 循环用于在Shell脚本中执行重复操作。有两种主要的循环类型: for i in {0..9}; do echo $i; done 这将在Shell脚本中输出数字0到9。 while [ $i -lt 10 ]; do echo $i; i=$((i+1)); done 这将在Shell脚本中输出数字0到9。 4. 输入和输出 在Shell脚本中,你可以使用echo命令输出文本,在命令行中使用read命令接受用户输入。 echo "What is your name?"; read name; echo "Hello, $name!" 这将在Shell脚本中输出用户的名字,并欢迎他们。 Shell脚本的示例 以下是一个Shell脚本示例,它从一组数字中找到最小值: #!/bin/bash array=(4 6 2 7 9 1 3 5 8) min=${array[0]} for i in ${array[@]} do if [[ "$i" -lt "$min" ]]; then min="$i" fi done echo "The minimum value is: $min" 这将在Shell脚本中输出数组中的最小值。 总结 Shell脚本可以帮助你自动化Unix和Linux系统上的不同任务。在这篇文章中,我们学习了Shell脚本的基础知识,以及如何编写一个基本的Shell脚本。 如果你对Shell脚本还不熟悉,不要担心。继续学习并运用它,你会逐渐熟悉Shell脚本中的语法和关键字,并变得更加熟练。

最新推荐

linux shell(.sh)脚本编写和运行入门

主要介绍了linux shell(.sh)脚本编写和运行入门,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

Python在线考试系统前端-大学毕业设计-基于vue.zip

Python在线考试系统前端-大学毕业设计-基于vue

Python各种图像注意力模块的实现.zip

注意力机制

300161华中数控财务报告资产负债利润现金流量表企业治理结构股票交易研发创新等1391个指标(2007-2022).xlsx

包含1391个指标,其说明文档参考: https://blog.csdn.net/yushibing717/article/details/136115027 数据来源:基于上市公司公告数据整理 数据期间:从具体上市公司上市那一年开始-2022年度的数据,年度数据 包含各上市公司股票的、多年度的上市公司财务报表资产负债表、上市公司财务报表利润表、上市公司财务报表现金流量表间接法、直接法四表合在一个面板里面,方便比较和分析利用 含各个上市公司股票的、多年度的 偿债能力 披露财务指标 比率结构 经营能力 盈利能力 现金流量分析 风险水平 发展能力 每股指标 相对价值指标 股利分配 11类财务指标分析数据合在一个面板里面,方便比较和分析利用 含上市公司公告的公司治理、股权结构、审计、诉讼等数据 包含1391个指标,如: 股票简称 证券ID 注册具体地址 公司办公地址 办公地址邮政编码 董事会秘书 董秘联系电话 董秘传真 董秘电子邮箱 ..... 货币资金 其中:客户资金存款 结算备付金 其中:客户备付金 .........

DAC简介及参考电路PPT学习教案.pptx

DAC简介及参考电路PPT学习教案.pptx

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire

OceanBase数据库简介及原理解析

# 1. OceanBase数据库概述 ## 1.1 OceanBase数据库的发展历程 OceanBase数据库是由阿里巴巴集团自主研发的一款分布式关系型数据库系统,起源于阿里集团的业务需求和技术挑战。自2010年开始研发,经过多年的迭代和优化,OceanBase已经成为阿里巴巴集团重要的核心数据库产品之一。在实际的业务场景中,OceanBase已经被广泛应用于金融、电商、物流等各个领域。 ## 1.2 OceanBase数据库的特点和优势 OceanBase数据库具有以下特点和优势: - **分布式架构**:OceanBase采用多副本分布式架构,可以实现高可用和数据容灾。 -

python的pandas读取excel怎么将excel表里的列从1开始而不是0

在 Pandas 中,数据框的列默认从0开始编号,但我们可以通过自定义函数来进行数据列的转换。可以先将读取的数据框列的第一个值设为1,然后对后续列进行递增处理。 以下是示例代码: ```python import pandas as pd # 读取 Excel 文件 df = pd.read_excel('your_excel_file.xlsx') # 定义函数将列从1开始 def reset_column(x): return str(int(x) + 1) # 应用函数到所有列名 df = df.rename(columns=reset_column) # 打印数据框

第三章薪酬水平、薪酬系统的运行与控制.pptx

第三章薪酬水平、薪酬系统的运行与控制.pptx

"互动学习:行动中的多样性与论文攻读经历"

多样性她- 事实上SCI NCES你的时间表ECOLEDO C Tora SC和NCESPOUR l’Ingén学习互动,互动学习以行动为中心的强化学习学会互动,互动学习,以行动为中心的强化学习计算机科学博士论文于2021年9月28日在Villeneuve d'Asq公开支持马修·瑟林评审团主席法布里斯·勒菲弗尔阿维尼翁大学教授论文指导奥利维尔·皮耶昆谷歌研究教授:智囊团论文联合主任菲利普·普雷教授,大学。里尔/CRISTAL/因里亚报告员奥利维耶·西格德索邦大学报告员卢多维奇·德诺耶教授,Facebook /索邦大学审查员越南圣迈IMT Atlantic高级讲师邀请弗洛里安·斯特鲁布博士,Deepmind对于那些及时看到自己错误的人...3谢谢你首先,我要感谢我的两位博士生导师Olivier和Philippe。奥利维尔,"站在巨人的肩膀上"这句话对你来说完全有意义了。从科学上讲,你知道在这篇论文的(许多)错误中,你是我可以依