shell脚本复习

1.shell脚本解释
1.命名的堆积
2.特定的语法+特定的命名 = 文件
3.需要会使用相关的工具去写脚本
2.能做什么
作用:简化操作步骤(减少认人为干预,减少故障)
1.自动化完成基础配置(ip配置,系统更新,内核编译等)
2.自动化安装程序
3.自动化调整配置
4.自动化部署业务
5.定期备份恢复程序
6.自动化信息的采集
7.自动化日志收集(ELK)
8.日志分析
9.自动化扩容(缩容)
3.shell需要学习的东西
1.变量
2.条件判断if-else
3.循环语句for——while
4.流程控制case
5.函数function
6.数组
7.正则表达式
4.shell的起步
shell的第一行必须是指定解释器,例如指定sh,指定python。
指定shell#!bin/bash
5.shell脚本的特性
1.命令和文件路径补全
2.历史记忆功能history(记录执行的命令)
3.别名功能alias
4.常用快捷键ctal+u,k,a,e,l,c,z,d,w,r,y
5.前后台作业控制screen(记得先下载)screen -s
6.输入输出重定向>,>>,1>2>>,&>,cat<
7.管道 将前者的命令的标准输出交给或者命令的输入 tee获取当前管道获取的内容
8. 命名排序;&&(前面执行成功,后面会执行) ||(前面不执行成功门后面才会执行)
9. shell通配符号
10.echo输出颜色,printf格式化输出
横线部分需要多加了解
6.变量
1.定义shell变量,不需要给出类型
直接name=“wang”
(不得以数字开头,严格区分大小写)
2.变量作用域
(pstree查看当前进程)
全局变量,针对当前shell以及任意子进程
局部变量,函数定义的或者是shell脚本定义的
位置参数变量,shell脚本参数专递用
2.特殊变量
参数
$0:文件名
1 − 1- 1n:第n个参数
$#:有多少个参数
$*:全部参数
$@:全部参数(区别是这个可以for读取单个)
状态
$? 上一次执行命令是否正确
$$当前shell脚本的进程号
$!上一次后台进程的PID(nohup 命名 & 1> 黑洞文件)
$_ 上一次执行命令的最后一个参数
7.内置命令
1.bash一些内置命令
echo
打印
-n 不换行输出
-e 解析字符串的特殊符号
-n 换行
-r 回车
-t 制表符
-b 退格
eval
执行多个命令
eval ls;cd/tmpd
exec
不创建子进程,执行后续命名,执行完毕,自动exit
export
read
shift
8.字符串
${变量} 直接返回
${#变量} 返回长度
${变量:start} 返回start开始后的字符串
${变量:start:length} 返回start后的length限制的字符
${变量#word} 变量开头删除最短匹配的word字符串
${变量##word} 变量开头删除最长匹配的word字符串
${变量%word} 变量结束删除最短匹配的word字符串
${变量%%word} 变量结束删除最长匹配的word字符串
${变量/pattern/string}用string代替第一个pattern
${变量//pattern/string}用string代替所有pattern

特殊的功能
${parameter:-word}
如果parameter为空,返回word
${parameter:=word}
如果parameter为口,word代替而且返回word
${parameter:?word}
如果parameter为空,word作为stderr输出,否则输出变量值(设置变量为口时候返回错误)
${parameter:+word}
如果parameter为空,什么都不做,否则返回word
9.命名时间统计
time命名,统计命令执行时长
real 实际运行时间
user 用户态执行时间
sys 内核态执行时间
10.父子shell
请添加图片描述

1.source或点(./)执行脚本,只在当前的shell环境中执行生效
2./bin/bash script执行脚本,是开启subshell,开启子shell运行脚本命令
3…/script,都会指定shebang,也是开启子shell执行任务
4.父shell的概念
pstree查看的结果就是父shell的环境
ps -ef --forest也可以查看
11.linux内置与外置命令的区别
内置命令:在系统启动的过程中就加载进入内存,常在内存中,执行效率高,但是占用资源
外置命令:用户需要的时候就从硬盘读取程序文件,在加载内存加载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值