shell脚本
简介:
随着Linux系统在企业中的应用越来越多,服务器的自动化管理也变得越来越重要。在Linux服务器的自动化维护工作中,除了计划任务的设置以外,shell脚本的应用也是非常重要的一部分。
本章将主要学习shell脚本基础、变量使用等知识,要求学会编写简单的脚本。
shell脚本的基础
一,shell脚本的作用系统shell解释器的作用
1,shell脚本的作用
自动化运维
批量化重复操作可以编写脚本结合计划任务自动周期运行
2,shell脚本的特点
减轻管理员工作量
提高处理文本文件的速度
避免配置出错
3,Linux系统shell的作用
Linux系统模式使用的bash
shell负责接收用户输入的指令,编译提交到CPU进行运行
计算机将指令执行后给用户反馈执行结果
二,shell脚本的结构
1,声明
脚本通过那个解释器运行
Linux系统默认使用的是bash
2,脚本描述
解释当前脚本的作用和功能
3,脚本作者练习方式
脚本故障方便联系写脚本的工程师
4,脚本执行的命令
通过脚本命令执行处理数据,实现自动化运维
三,编写简单的脚本
1,使用脚本显示根目录数据
[[email protected]~]# vim test.sh
#!/bin/bash //声明
#test script //描述
#@qq.com //脚本作者联系方式
echo “切换到根目录:”
cd /
echo “显示根目录数据:”
ls
2、运行脚本
[[email protected]~]# sh test.sh 不需要添加执行权,直接运行
[[email protected]~]# ./test.sh 需要交添加脚本权限
[[email protected]~]# source test.sh 不需要添加执行权限,直接执行,进入到脚本变量目录
四、重定向和管道符
1,基本输入输出
标准输出:文件号0,接收或者读取用户输入的数据,用<表示
标准的输出:文件号1,将数据显示在屏幕或者文件中,用>表示,>>表示追加输出
错误输出:文件号2,错误输出显示在屏幕或者文件中,用2>表示
混合输出:对或者错都可以显示或者输出到文件中先后杀死,用&>表示
2,管道符
把前一个命令执行的结果,当成下一个命令处理的对象
3,输出的使用
[[email protected]~]# echo “shell world” > ./1.txt //输出到文件
[[email protected]~]# echo “shell world” //输出到屏幕
4,将错误输出数据,输入到1.txt文件
[[email protected]~]# asdasd 2> 1.txt
5、混合输出显示到1.txt
[[email protected]~]# echo “aa” &> 1.txt
6、管道符的应用
变量
一,变量的类型和变量的作用
1,变量的组成
变量名和变量值组成
2,变量的作用
方便统用变量中的参数
别名重复编写内容
二,变量的类型
1,自定义变量
管理员手动创建
根据脚本环境需要创建
2,环境变量
维护系统使用
不需要管理员手动创建
3,位置变量
命令给脚本传递参数使用
4,预定义变量
bash预定义变量属于特殊变量
用户不能修改预定义变量
三,配置变量
1、定义变量名为a和b,并调用变量
[[email protected]~]# a=benet
[[email protected]~]# b=6.0
四,变量赋值常用的符号
1,双引号
允许引用其他的变量值
2,单引号
禁止引用其他变量
3,反撇
将命令执行的结果赋值给变量
4,read -p
接收用户输入内容复制给变量使用
5,使用双引号引用变量
6、使用单引号禁止引用变量
7、使用反撇将命令结果赋值变量
8、使用read -p将用户输入的内容赋值给test变量名
五,变量的运算
1,变量的运算符
+:加
-:减
/:除
*:乘
2,加法
3、减法
4、乘除法
六,特殊变量
1,环境变量
系统创建
2,位置变量
提供9个位置
3,预定义变量
$#:命令行中位置参数
$*:所有位置参数
$?:判断脚本执行状态0成功,非0失败
$0:脚本进程名字
4,特殊变量的基本使用