shell学习
追上大佬的脚步啊!
走在运维开发的路上!
展开
-
SHELL学习之 case语句
case语句 case语句是点名语句,每个分支语句之间是平衡的,在进行判定时,每个分支语句之判定一次,适合于字符匹配。 if else 语句适合在判断时用,if语句每个分支语句之间是有优先级的,在进行判定时,每个语句都要判定一次。 case语句和if语句相比,判定次数少。 示例 1 [root@fuwu test]# cat case.sh #!/bin/bash case $1 in s...原创 2019-03-25 15:11:10 · 246 阅读 · 0 评论 -
SHELL学习之文本处理(三):sed关于 p、d、a、c、i 模式
5原创 2019-03-23 23:10:10 · 199 阅读 · 0 评论 -
SHELL学习之httpd监控脚本与修改版
httpd监控脚本: #!/bin/bash while true do echo -e " \033[31m start 开启httpd服务 \033[0m \033[32m stop 关闭httpd服务 \033[0m \033[33m restart 重启httpd服务 \033[0m ...原创 2019-05-23 14:52:14 · 135 阅读 · 0 评论 -
SHELL学习之函数
SHELL中的函数 1.语法: 方法1: 函数名() { 函数体 return n } 方法2: function 函数名() { 函数体 return n } 2.调用函数 #!/bin/bash function fun1() { echo "I like westos" } fun1 ##调用函数 3.引用函数 - 每次引用函数时,bash会重新回到函数的定义 [r...原创 2019-05-23 15:06:51 · 145 阅读 · 0 评论 -
SHELL学习之全局变量与局部变量
变量的作用域 一、全局变量: 任何地方都生效的变量,默认情况下,脚本主体内定义全局变量,函数内可以用,函数外也可以用 [root@server ~]# vim overall.sh #!/bin/bash function fun1() { temp=$[ $value + 5 ] result=$[ $temp * 2 ] } temp=4 value=6 fun1 e...原创 2019-05-23 15:21:57 · 230 阅读 · 0 评论 -
SHELL学习之利用函数递归—计算阶乘
函数递归 计算阶乘 [root@server ~]# cat recursion.sh #!/bin/bash read -p "Num:" num result=1 for i in `seq $num` do result=$[ $result * $i ] done echo "The result is:" $result [root@server ~]# sh rec...原创 2019-05-23 15:30:32 · 431 阅读 · 0 评论 -
shell学习之信号的捕捉(trap)
信号 linux通过信号来在运行在系统上的进程之间通信也可以通过信号来控制shell脚本的运行 (1)捕捉信号:trap命令 常用信号 ctrl+c(终止进程) ctrl+z(暂停进程,打入后台) [root@server ~]# trap "echo westos" 2 [root@server ~]# ^Cwestos (2)列出中断信号与键盘的关系 [root@server ~]# s...原创 2019-05-23 15:35:07 · 308 阅读 · 0 评论 -
SHELL学习之数组及相关面试题
shell之 数组 一、数组定义方法: 方法1: [root@localhost ~]# array=(1 2 3) [root@localhost ~]# echo ${array[*]} 1 2 3 方法2: [root@localhost ~]# array=([1]=one [2]=two [3]=three) [root@localhost ~]# echo ${array[...原创 2019-05-23 15:43:30 · 159 阅读 · 0 评论 -
shell学习之有关【随机数】的面试题练习
1)使用for循环在/westos目录下批量创建10个html文件,其中每个文件需要包含10个随机小写字母加固定字符串westos #!/bin/bash Path=/westos [ -d "$Path" ] || mkdir -p $Path for i in `seq 10` do random=$(openssl rand -base64 40 | sed 's/[^a-z]...原创 2019-05-23 15:45:07 · 109 阅读 · 0 评论 -
shell学习之for语句的相关练习题
(1)ssh连接三次以上失败则加入到黑名单中 #!/bin/bash #在/var/log/secure查找连接失败的主机,并统计次数 #累计连接失败超过3次,将此主机加入系统黑名单(/etc/hosts.deny) [root@server tmp]# cat ssh.sh #!/bin/bash cat /var/log/secure | awk '/Failed/{print $(N...原创 2019-05-23 15:47:37 · 177 阅读 · 0 评论 -
SHELL学习之文本处理(一):grep与cut命令
3原创 2019-03-23 23:09:31 · 186 阅读 · 0 评论 -
SHELL学习之变量
一、环境变量 环境变量也可叫全局变量,可以在创建他们的shell及派生出的子shell中使用(无需定义,直接可以使用,如:$UID) 相关命令: set :输出所有变量 env:只显示全局变量 declare:输出所有变量,函数,整数等\ 二、普通变量 普通变量赋值 变量名=value 变量名=‘value’ 变量名=“value 注:没有特殊要求时,字符串都加双引号,需要原样输...原创 2019-03-25 15:11:32 · 144 阅读 · 0 评论 -
SHELL学习之基础知识
1原创 2019-03-23 23:08:45 · 202 阅读 · 0 评论 -
SHELL学习之变量的数值计算(expr,$[] 和 $(())表达式,let命令)
2原创 2019-03-23 23:09:05 · 307 阅读 · 0 评论 -
SHELL学习文本处理(二):sort,uniq与test命令
4原创 2019-03-23 23:09:51 · 197 阅读 · 0 评论 -
SHELL学习之awk报告生成器(基础用法)
asd原创 2019-03-23 23:10:41 · 160 阅读 · 0 评论 -
SHELL学习之 awk两个特殊模式(BEGIN 和 END)及awk高级应用(条件判断、循环)
一、Awk 的两个特殊模式 BEGIN 和 END,BEGIN 被放置在没有读取任何数据之前,而 END 被放置在所有的数据读取完成以后执行 体现如下: BEGIN{}: 读入第一行文本之前执行的语句,一般用来初始化操作 {}: 逐行处理 END{}: 处理完最后以行文本后执行,一般用来处理输出结果 实例: 文件开头加REDHAT,末尾加WESTOS...原创 2019-03-23 23:11:39 · 1159 阅读 · 0 评论 -
SHELL学习之条件判断与练习
条件判断 test "$a" == "$b" 等同于 [ "$a" == "$b" ] [ "$a" =="$b" ] 等于 [ "$a" != "$b" ] 不等于 [ "$a" -eq "$b" ] 等于 [ "$a" -ne "$b" ] 不等于 [ "$a" -le "$b" ] 小于等于 [ "$a" -ge "$b" ] 大于等于 [ "$a" -gt "$b" ] 大于 [ "...原创 2019-03-23 23:11:58 · 97 阅读 · 0 评论 -
SHELLl学习之条件语句与循环语句(if ,for,while )
一、 if语句 if简单示例 #!/bin/bash user=kiosk if grep $user /etc/passwd;then echo "Hello $user" fi if date;then echo "Hello date" fi if-else简单示例 #!/bin/bash user=student if grep $user /etc/passw...原创 2019-03-23 23:12:21 · 181 阅读 · 0 评论 -
SHELL学习之使用嵌套循环生成9*9乘法表
一、 嵌套循环 示例 [root@server19 mnt]# vim qt.sh #!/bin/bash for ((a=1;a<=3;a++)) do echo "Starting outside loop: $a" for ((b=1;b<=3;b++)) do echo "Inside loop: $b" done done...原创 2019-03-23 23:12:41 · 305 阅读 · 0 评论 -
shell学习之rsyncd监控脚本
#!/bin/bash . /etc/init.d/functions function usage() { echo $"usage:$0 {start|stop|restart}" exit 1 } function start() { rsync --daemon sleep 1 if [ `netstat -antlpe | grep rsyn...原创 2019-05-23 15:48:30 · 156 阅读 · 0 评论