1.概念
抽象来讲,程序由指令+数据构成
1.1程序编程风格
- 面向过程:以指令为中心,数据服务于指令
- 面向对象:以数据为中心,指令服务于数据
shell程序:提供编程能力,解释执行
1.2程序执行方式
- 程序通过计算机来运行二进制指令
- 编程语言:
- 低级:汇编 - 高级: - 编译:高级语言-编译器-目标代码///java,C等(需要通过编译) - 解释:高级语言-解释器-机器代码///shell,perl,python(可以直接运行)
2.编程基本概念
2.1编程逻辑处理
shell编程:过程式,解释执行 编程语言的基本结构:
- 各种系统命令的组合
- 数据储存:变量,数组
- 表达式:a + b
- 语句:if
3.shell脚本基础
- shell脚本:
包含一些命令或声明,并符合一定格式的文本文件。 - 格式要求:首行shebang机制也就是#!,指明这个脚本文件的解释程序。
-
如果脚本文件中没有“#!”这一行,那么他执行时会默认使用当前shell去解释这个脚本(即$shell环境变量)。 -
如果“#!”之后的解释程序是一个可执行文件,那么执行这个脚本是,他就会把文件名及其参数作为参数传给那个解释程序去执行。 -
如果“#!”指定的解释程序没有可执行权限,则会报错“bad interpreter:Permission denied”(拒绝访问,也就是没有权限)。如果“#!”指定的解释程序不是一个可执行文件,那么指定的解释程序会被忽略,转而给当前的shell去执行这个脚本。 -
如果“#!”指定的解释程序不存在,那么会报错“bad interpret : No such file ordirectory”,注意:“#!”之后的解释程序,需要些其绝对路径(例如:/bin/bash),他是不会自动到$PATH中寻找解释器的。 -
当然,如果你使用的“bash test.sh”这样的命令来执行脚本,那么“#!”这一行将被忽略,解释器当然是用命令行中显示式指定的bash。 例如:
- #!/bin/bash
- #!/usr/bin/python
- #!/usr/bin/perl
3.1创建shell脚本
-
- 使用文本编辑器创建文本文件
以#!开头,#!/bin/bash 添加注释,注释以#开头 -
- 运行脚本
给与执行权限,指定脚本的绝对或相对路径
3.2脚本基本结构
#!SHEBANG 解释程序 CONFIGURATION_VARIABLES 变量 FUNCTION_DEFINITIONS 函数 MAIN_CODE 主程序
|