Bash的基础特性(3)
1、提供了编程环境
程序编程风格:
面向过程式:以指令为中心,数据服务于指令
面向对象式:以数据为中心,指令服务于数据
shell程序:提供了编程能力,解释执行
程序的执行方式:
计算机:运行二进制指令
编程语言:
低级语言:汇编
高级语言:
编译:高级语言 --> 编译器 --> 目标代码
C,C++,java
解释:高级语言 --> 解释器 --> 机器代码
shell,perl,python...
过程式编程:
顺序执行(自上而下一条一条执行)
循环执行
选择执行
shell编程:过程式,解释执行
编程语言的基本结构:
数据存储:变量、数组
表达式
语句
shell脚本:文本文件(必须遵循特定的格式)
Note:每个shell脚本的第一行必须写清楚解释器路径,此机制称之为"shebang"机制
#!/bin/bash #定义bash解释器路径位置
#!/usr/bin/python #定义python解释器路径
#!/usr/bin/perl #定义perl解释器路径
例:
vim first.sh
#!/bin/bash
cat /etc/fstab | wc -l
输入完成后点击键盘上的"ESC"然后输入":wq"保存退出
默认编辑完后是没有执行权限的,要给此文件添加"x"权限,这就是一个非常简单的脚本
没有执行权限也是可以的,手动"bash first.sh"也可以执行
运行脚本:
1、给予执行权限,通过具体的文件路径指定文件执行
2、直接运行解释器,将脚本作为解释器程序的参数运行
变量:
命名的内存空间:
数据存储方式:
字符:1(针对"1"来说,可以是字符也可以是数值),每一个字符占8位,"110"看做字符的话就占用24位
数值:1
整型
浮点型
变量:变量类型(变量内部存储的数据的类型)
作用:
1、数据存储格式
2、参与的运算
3、表示的数据范围
数据类型:
字符
数值:
整型
浮点型
编程程序语言:
强类型:
弱类型:bash
把所有要存储的数据统统当做字符进行,做计算的话会做隐式转换运作
不支持浮点数
逻辑运算:
true,false:
1,0
与:
1 && 1 = 1
1 && 0 = 0
0 && 0 = 0
0 && 1 = 0
或:
1 || 1 = 1
1 || 0 = 1
0 || 1 = 1
0 || 0 = 0
非:
! 1 = 0
! 0 = 1
短路运算:
与:
第一个为0,结果必为0
第一个为1,第二个必须要计算
例:
ls /var && echo "how are you!" #第一个命令执行成功了就接着执行&&后的命令
ls /varr && echo "how are you" #都一个命令执行失败了就直接不执行&&后的命令
或:
第一个为1,则结果必为1
例:
ls /var || echo "how are you" #第一个命令成功后,就不执行||后的命令
第一个为0,第二个必须计算
结合使用:
[root@bogon ~]# ls /var &> /dev/null && echo "success" || echo "false"
success
[root@bogon ~]# ls /varr &> /dev/null && echo "success" || echo "false"
false
过程不在讲解,仔细看范例,会明白的,这还看不懂,就不太应该了