为什么要学习shell编程?
Shell是什么?
Shell编程快速入门
脚本格式要求:
1. 脚本以#!/bin/bash开头
2. 脚本需要有可执行权限
编写第一个shell脚本来输出hello world!
创建一个myshell.sh文件
脚本的常用执行方式:
shell的变量
1.Linux Shell中的变量分为: 系统变量和用户自定义变量.
2.系统变量: $HOME, $PWD, $SHELL, $USER等等, 比如: echo $HOME等等
3. 显示当前shell中所有变量: set
shell变量的定义
快速入门
1. 定义变量a
2. 撤销变量a
输出结果
3. 声明静态的变量a=100, 不能用unset来撤销变量
输出结果:
定义变量的规则
将命令的返回值赋给变量
多行注释:
以上就可以实现多行注释
:<<!
xxxx内容
!
单行注释
# xxxxx
设置环境变量
基本语法:
1. export 变量名=变量值(功能描述: 将shell变量输出为环境变量)
2. source 配置文件 (功能描述: 让修改后的配置信息立即生效)
3. echo $变量名 (功能描述: 查询环境变量的值)
位置参数变量
介绍:
基本语法:
位置参数变量应用案例:
案列:编写一个shell脚本 my.sh, 在脚本中获取到命令行的各个参数信息
输出结果:
预定义变量
介绍:
基本语法:
运算符
基本语法:
应用实例:
案列1: 计算(2+3)*4 的值
有三种方式可以计算该值
第一种: $((运算式))
第二种: $[运算式]
推荐使用这种方式
第三种: expr
案列2; 请求出命令行的两个参数[整数]的和
推荐使用第二种方式来使用
条件判断
判断语句:
基本语法:
应用实例:
案列1: "ok"是否等于"ok"
案例二: 23 是否大于等于22
案例三: /root/install.log目录中的文件是否存在
流程控制之if语句
注意事项:
案列: 请编写一个shell程序,如果输入的参数,大于等于60,则输出“及格了”, 如果小于60, 则输出“不及格”
流程控制之case语句
案列
流程控制之for语句
for语句基本语法1
输出结果:
可以看出$*和$@之间还是有区别的, $*是一个整体, $@是所有参数,只不过所有参数是分开的。我理解可以看成数组。
$* 可以看成一个整体的字符串。
for语句基本语法2
输出结果:
流程控制之while循环
基本语法
案例:
输出结果:
read读取控制台输入
基本语法;
案列:
函数
函数介绍:
系统函数
案列:
案例:
自定义函数
输出结果: