Shell脚本基础和应用

Shell脚本应用

技能展示
掌握Shell脚本的基础知识
学会使用Shell变量
学会编写简单的Shell脚本

简 介
随着Linux系统在企业中的应用越来越多,服务器的自动化管理也变得越来越重要。在
Linux服务器的自动化维护工作中,除了计划任务的设置以外,Shell脚本的应用也是非
常重要的一部分。
本章将主要学习Shell脚本基础,变量使用等知识,要求学会编写简单的脚本。

重 点
Shell变量的应用
Shell脚本的编写和执行

		 **理论讲解**						

Shell脚本基础
在一些复杂的Linux维护工作中,大量重复性的输入和交互操作不仅费时费力,而且
容易出错,而编写一个恰到好处的Shell脚本程序。可以批量处理,自动化地完成一系
列维护任务,大大减轻管理员的负担。
编制第一个Shell脚本
Linux系统中的Shell脚本是一个特殊的应用程序,它介于操作系统内核与用户之间,
充当了一个“命令解释器”的角色,负责接收用户输入的操作指令(命令)并进行解释,
将需要执行的操作传递给内核执行,并输出执行结果。
常见的Shell解释器程序有很多种,使用不同的Shell脚本时,其内部指令,命令行提
示等方面会存在一些区别。通过/etc/shell文件可以了解当前系统所支持的Shell脚本种
类。
————————————————————————————————————————
一.shelll脚本的作用系统shell解释器的作用
1)shell脚本的作用
自动化运维
批量化重复操作可以编写脚本结合计划任务自动周期运行
2)shell脚本的特点
减轻管理员工作量
提高处理文本文件的速度
避免配置出错
3)Linux系统shell的作用
Linux系统模式使用的bash
Shell负责接收用户输入的指令,编译提交到CPU进行运行
计算机将指令执行后给用户反馈执行结果~
2. shell脚本的结构
1)声明
脚本通过那个解释器运行
Linux系统默认使用的是base
2)脚本描述
解释当前脚本的作用和功能
3)脚本作者联系方式
脚本故障方便联系写脚本的工程师
4)脚本执行的命令
通过脚本命令执行处理数据,实现自动化运维
3.编写简单的脚本
1)使用脚本显示根目录数据
[root@Centos ~]# cat test.sh
#!/bin/bash
#test script
#pengxu.wang@jbit.cn
echo “切换到根目录:”
cd /
echo “显示根目录数据:”
ls
在这里插入图片描述
2)运行脚本
[root@Centos ~]# sh test.sh 不需要添加执行权限,直接执行
在这里插入图片描述
[root@Centos ~]# source test.sh 不需要添加执行权限,直接执行,进入到脚本变录
[root@Centos ~]# chmod +x test.sh
[root@Centos /]# ./test.sh 需要添加脚本执行权限
4.重定向和管道符
1)基本输入输出
标准输入:文件号0,接收或者读取用户输入的数据,用<表示
标准的输入:文件号1,将数据显示在屏幕或者文件中,用>表示>>表示追加输出
错误输出:文件号2,错误输出显示在屏幕或者文件中,用2>表示
混合输出:对或者错都可以显示或者输出到文件中显示,用&>表示
2)管道符|
把前一个命令执行的结果,当成一个命令处理的对象
3)输出的使用
[root@Centos /]# echo “hello worlk” > ./1.txt
[root@Centos /]# echo “hell worlk”
hell worlk
在这里插入图片描述
4)将错误输出数据,输出到1.txt文件
[root@Centos /]# asdasd 2> 1.txt
在这里插入图片描述
5)混合输出显示到1.txt
[root@Centos /]# echo “aaa” &> 1.txt
在这里插入图片描述
6)管道符的应用
[root@Centos /]# netstat -anptu | grep sshd
在这里插入图片描述
二.变量
1.变量的组成和变量的作用
1)变量的组成
变量名和变量值组成
2)变量的作用
方便调用变量中的参数
避免重复写内容
2.变量的类型
1)自定义变量
管理员手动创建
根据脚本环境需要创建
2)环境变量
维护系统使用
不需要管理员手动创建
3)位置变量
命令给脚本传递参数使用
4)预定义变量
bash预定义变量属于特殊变量
用户不能修改预定义变量
3. 配置变量
1)定义变量名为a和b
[root@Centos /]# a=benet
[root@Centos /]# b=6.0
在这里插入图片描述
2)调用变量
[root@Centos /]# a=benet
[root@Centos /]# b=6.0
[root@Centos /]# echo &a &b
4.变量赋值常用的符号
1)双引号
允许引用其他的变量值
2)单引号
禁止引用其他变量
3)反撇
将命令执行的结果赋值给变量
4)read -p
接收用户输入内容赋值给变量使用
5)使用双引号引用变量
[root@Centos /]# c=“acpp $b”
[root@Centos /]# echo $c
acpp 6.0
在这里插入图片描述
6)使用单引号禁止引用变量
[root@Centos /]# d=‘accp $b’
[root@Centos /]# echo $d
accp $b
在这里插入图片描述
7)使用反撇将命令结果赋值变量
[root@Centos /]# e=‘netstat -anptu | grep 22’
[root@Centos /]# echo $e
netstat -anptu | grep 22
在这里插入图片描述
8)使用read -p将用户输入的内容赋值给test变量名
[root@Centos /]# read -p “请输入年龄” test
请输入年龄21
[root@Centos /]# echo $test
21
在这里插入图片描述
5.变量的运算
1)变量的运算符
+:加
-:减
/:除
*:乘
2)加法
[root@Centos /]# a=1
[root@Centos /]# b=2
[root@Centos /]# expr $a + $b
3
在这里插入图片描述
3)减法应用
[root@Centos /]# expr $b - $a
1
在这里插入图片描述
4)除法
[root@Centos /]# expr $b * $b / $a
4
在这里插入图片描述
6.特殊变量
1)环境变量
系统创建
2)位置变量
提供9个位置
3)预定义变量
$#:命令行中位置参数
$*:所有位置参数
$?:判断脚本执行状态0成功,非0失败
$0:脚本进程名字
4)特殊变量的基本使用
[root@Centos /]# cat ./test.sh
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值