1
Linux下Shell编程之While语法讲解
6.7 循环语句while
while 条件语句
do
语句1
done
[31:51]
开始学习
2
Linux下Shell编程之Case语法讲解
案例一,while条件判断数字
#!/bin/sh
i=1;
while [[ $i -lt 10 ]];do
echo $i;
((i++));
done;
案例二,扩展讲解linux read命令
「仅限付费用户」点击下载“Shell编程实战系列.pdf”
[31:52]
开始学习
3
Linux下Shell编程之函数演练
shell允许将一组命令集或语句形成一个可用块,这些块称为shell函数,定义函数的格式:
function name (){
command1
........
}
[23:32]
开始学习
4
Linux下Shell编程脚本案例剖析
说到Shell编程,我想很多从事Linux运维工作的朋友都不陌生,都对Shell有基本的了解,可能大家刚开始接触Shell的时候,有各种想法?
能不能不学?
高大上?
到底是浮云?还是神马?
[23:46]
开始学习
5
Linux下Shell编程FIND命令实战
在我们日常的Shell编程中我们会用到很多的一些语句,有的语句,如果用好了,可以让我们的脚本更上一层楼,让我们的功能更容易满足企业的需求。
Sed命令:
sed 's/192/10/g' test.txt 把文件里面的192字符替换为10
[33:43]
开始学习
6
Linux下Shell编程Sed命令实战
Linux下Shell编程Sed命令实战,Sed ‘s/abc$/&jfedu.net/g’ test.txt
Sed ‘s/^abc/&jfedu.net/g’ test.txt
[33:47]
开始学习
7
Linux下Shell编程AWK命令实战一
sed命令可以替换给定文本中的字符串:
sed 's/old/new/' file
sed命令也可以从stdin中读取输入,如:
cat file | sed ‘s/old/new/’
使用-i选项,sed可以将替换结果应用于原文件,如:
sed -i ‘s/old/new/g’ file
[26:21]
开始学习
8
Linux下Shell编程AWK命令实战二
Awk命令:
1.什么是AWK
(1)Aho、Weinberger、Kernighan三位发明者名字首字母;
(2)一个行文本处理工具;
[26:22]
开始学习
9
Shell编程grep正则实战讲解一
2.AWK基本原理
2.1原理:逐行处理文件中的数据
2.2语法:
awk 'pattern + {action}'
说明:
(1)单引号''是为了和shell命令区分开;
(2)大括号{}表示一个命令分组;
[29:45]
开始学习
10
Shell编程grep正则实战讲解二
正则表达式与通配符不一样,它们表示的含义并不相同!
正则表达式只是一种表示法,只要工具支持这种表示法, 那么该工具就可以处理正则表达式的字符串。vim、grep、awk 、sed 都支持正则表达式,也正是因为由于它们支持正则,才显得它们强大;
基础正则表达式
[29:58]
开始学习
11
Shell脚本综合案例讲解一
在Linux Shell编程中,if、for、while、case等条件流程控制语句用的非常多,把这些学好,对提升脚本的功力有非常大的帮助。下面将逐个来讲解具体的用法:
If条件判断语句
if (表达式) #if ( Variable in Array )
[28:59]
开始学习
12
Shell脚本综合案例讲解二
6.14 Shell编程之IP匹配及磁盘邮件告警
匹配IP地址:
磁盘邮件告警脚本编写:
收集系统硬件信息脚本:
[29:17]
开始学习
13
Shell脚本编程综合实战一
sh
#Automatic Backup Linux System Files
#Author wugk 2013-11-22
#Define Variable
SOURCE_DIR=(
[33:14]
开始学习
14
Shell脚本编程综合实战二
6.16 自动拒绝恶意IP脚本
#!/bin/sh
#auto drop ssh failed IP address
#wugk 2013-1-2
#定义变量
SEC_FILE=/var/log/secure
#如下为截取secure文件恶意ip 远程登录22端口,大于等于4次就写入防火墙,禁止以后再登录服务器的22端口
[19:13]
开始学习
15
Shell脚本编程综合实战三
[ $? -ne 0 ];then
#判断iptables配置文件里面是否存在已拒绝的ip,如何不存在就不再添加相应条目
sed -i "/lo/a -A INPUT -s $i -m state --state NEW -m tcp -p tcp --dport 22 -j DROP" $IPTABLE_CONF
else
#如何存在的话,就打印提示信息即可
[24:52]
开始学习
16
Shell脚本编程综合实战四
#查看iptables配置文件是否含有提取的IP信息
cat $IPTABLE_CONF |grep $i >/dev/null
if
[ $? -ne 0 ];then
#判断iptables配置文件里面是否存在已拒绝的ip,如何不存在就不再添加相应条目
sed -i "/lo/a -A INPUT -s $i -m state --state NEW -m tcp -p tcp --dport 22 -j DROP" $IPTABLE_CONF
else
#如何存在的话,就打印提示信息即可
echo "This is $i is exist in iptables,please exit ......"
fi
done
#最后重启iptables生效
/etc/init.d/iptables restart
[25:04]
开始学习
17
Shell编程数组编程实战
数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字成为数组名,编号成为下标。
[38:16]
开始学习
18
Shell编程实战总复习
echo ${A[0]},代表引用第一个数组变量,结果会显示test1,数组引用从0开始,代表第一个数组,依次类推。
echo ${A[1]},代表引用第二个数组变量,结果会显示test2,数组引用也是从0开始计算的。
如何显示该数组所有参数呢?echo ${A[@]} 将显示所有参数test1 test2 test3 。
如何显示该数组参数个数呢?echo ${#A[@]} 将显示该数组的参数个数3。
如果替换某个数组呢?例如替换第二个test2数组为test5:echo ${A[@]/test2/test5}
如何删除一个数组呢?例如删除test3数组命令为:unset A[2] ;echo ${A[@]}查看效果。
那输入如何在编程来使用呢?请看下面例子:
[38:19]
开始学习