Day28-shell编程基础

一、为何要学习shell编程?

Linux系统中会大量的使用shell,工作中我们也需要自动化实现服务。

例如:自动备份、监控、自动安装服务。

Shell编程是Linux运维人员必须要学会的编程语言。最简单的编程语言。

编程也是运维人员必须具备的本领:shell、Python。

二、什么是shell?

shell就是一个解释器,命令行的命令以及脚本都会通过shell解释,传给操作系统,处理后再输出给用户。

创建用户是系统指定的解释器

三、shell的分类

C7支持的shell:

C7默认的shell

四、什么是shell脚本?

程序、命令会放入文件执行,这个文件称之为shell脚本文件。

工作中最多的编程写脚本,存放在文件里

五、shell变量

1、全局变量(环境变量)

在整个系统中生效,一般是大写,系统中默认就会存在一些这样的变量,满足系统和程序运行的需求。

自定义环境变量:

方法1:

export oldboy="I am oldboy."

echo #oldboy

方法2:

oldboy="I am oldboy."

export oldboy

以上均为临时生效,让其永久生效需写入配置文件:

/etc/profile==> ~/.bash_profile===> ~/.bashrc===> /etc/bashrc

推荐将环境变量写入/etc/bashrc 。

2、局部变量(普通变量)

是编写shell脚本最常用的变量。

a. 变量名=值

a=1

变量名:数字、字母、下划线、不能是数字开头。

b. = 等号:赋值符,把什么东西给谁。赋值符号两边不能有空格。

c. 值:东西,变量内容。

引用内容的符号:单引号,双引号,反引号,不加引号。

let===》让括号内的内容进行计算

将变量用{}引起来

六、表达式

[ 表达式 ]:中括号表达式,中括号内两端必须要有空格。

字符串要有双引号。

取反

七、整数表达式

-gt     大于    greater than

-ge    大于等于

-lt      小于     less than

-le    小于等于

-eq    等于    equal

-ne   不等于  not equal

注意:

1、整数表达式符两端必须要有空格

2、中括号内两端要有空格

3、变量和内容比较不需要引号

八、字符表达式

1、-z 变量长度为0时,为真。z为zero

2、-n 变量长度不为0时,为真。not zero

3、a == a 字符串是否相同

说明:字符串要加双引号

九、shell判断句

如果...那么。

格式:

if [ 表达式 ]

then

命令

fi

week 2

week 2

实现多条件用||或&&

十、read命令:读取用户输入

1、-p:"提醒:"

2、-t:"多长时间等待输入"

3、多条件用elif

4、两个整数比较大小

5、特殊位置变量:

$1 脚本文件的第一个参数

$2 脚本文件的第二个参数

boy就是$1输出的结果,girl就是$2输出的结果。

6、赋值

十一、for循环

for n in 取值列表

do

   执行命令

done

十二、书写脚本习惯

1、文件名以 .sh结尾

2、脚本开头第一行 #!/bin/bash 脚本内容由谁解释

由于Linux下默认是bash,所以目前不加这行也可以、

你可能感兴趣的:(Day28-shell编程基础)