shell
知无涯学无尽
这个作者很懒,什么都没留下…
展开
-
ssh免密登入脚本
#!/bin/bashread -p "请输入密码:" pwd# 自动向传入的IP地址拷贝密钥的函数copy_key () {#pwd='123'# 开始 expect 解释器程序/usr/bin/expect <<EOF# 设置捕获字符串后,期待回复的超时时间set timeout 30# 发送公钥给对方服务器spawn ssh-copy-id root@$1expect {"yes/no" { send "yes\n"; exp_continue }"passwor原创 2021-06-10 22:25:39 · 472 阅读 · 0 评论 -
利用shell双for循环实现判断是否为素数
脚本内容#!/bin/bashread -p "请输入一个数值:" Vif [[ $V = 1 || $V = 0 ]] then echo "$V既不是素数也不是合数" else for ((i=2;i<$V;i++)) do for M in $(($V % $i)) do break done if [[原创 2020-10-24 20:57:39 · 1495 阅读 · 2 评论 -
DNS——shell一键部署安装
简单部署#!/bin/bashrpm -qa bind |grep bind >/dev/null && echo $?if [ $? = 0 ] then yum -y remove bind >/dev/nullfiread -p "请输入域名前缀(如www、top等):" Aread -p "请输入域名主体(如kgc.com):" Bread -p "请输入Web服务器地址(如20.0.0.12):" Cif [ -e /var/named/$B.原创 2020-10-19 09:51:55 · 272 阅读 · 1 评论 -
shell扩展——免交互脚本
一、Here Document 免交互使用工/o重定向的方式将命令列表提供给交互式程序,标准输入的一种替代品语法格式:命令<<标记…… #标记之间是传入内容……标记注意事项:标记可以使用任意合法字符(通常为EOF)结尾的标记一定要顶格写,前面不能有任何字符结尾的标记后面也不能有任何字符(包括空格)开头标记前后的空格会被省略掉示例1.免交互方式实现对行数的统计,将要统计的内容置于标记"EOF"之间,直接将内容传给wc -l来统计[root@localhost原创 2020-10-19 09:12:34 · 416 阅读 · 0 评论 -
shell运用——阶乘函数
函数脚本#/bin/bashread -p "输入数字:" Nfac(){if [ $1 = 1 ] then echo 1 else tmp=$[$1-1] result=$(fac $tmp) echo $[$1 * $result]fi}result=$(fac $N)echo $result执行效果[root@localhost ~]# ./jiechen.sh 输入数字:6720原创 2020-10-07 22:28:55 · 2326 阅读 · 0 评论 -
shell运用——冒泡排序
冒泡排序类似气泡上涌的动作,会将数据在数组中从小到大或者从大到小不断的向前移动基本思想:冒泡排序的基本思想是对比相邻的两个元素值,如果满足条件就交换元素值,把较小的元素移动到数组前面,把大的元素移动到数组后面(也就是交换两个元素的位置)),这样较小的元素就像气泡一样从底部上升到顶部。算法思路冒泡算法由双层循环实现,其中外部循环用于控制排序轮数,一般为要排序的数组长度减1次,因为最后一次循环只剩下一个数组元素,不需要对比,同时数组已经完成排序了。而内部循环主要用于对比数组中每个相邻元素的大小,以确定原创 2020-10-07 21:43:58 · 439 阅读 · 1 评论 -
shell!!运维岗实用脚本示例
shell实用实验实验1实验要求:实验分析实验2实验要求:实验分析:实验3实验要求实验分析shell实用实验实验1实验要求:两类机器一共300多台,写个脚本自动清理这两类机器里面的日志文件,在堡垒机上发布,也要批量发布到crontab里面,A类机器日志存放路径很同一,B类机器日志文件存放路径需要用*匹配(因为这个目录除了日志外,还有其他文件,不能删除,匹配的时候看用*.log)A类:/opt/cloud/log/ 删除7天前日志B类:/opt/cloud/instances/ .原创 2020-08-25 16:13:41 · 3009 阅读 · 3 评论 -
使用for循环显示出三角形及菱形
正三角脚本内容执行结果反三角脚本内容执行效果菱形脚本内容执行结果正三角分析正三角行和列的关系,假设行数为1,列数为b,则i和b之间存在2i=b的关系脚本内容#!/bin/bashfor ((i=1; i<=9; i++))do for ((a=9; a>=$i; a--)) do echo -n " " ##显示空格,可以用*号代替,可以更直观看出效果 done for ((b=1; b<=$i*2-1; b++)) do echo -n $i.原创 2020-08-22 14:47:59 · 2005 阅读 · 1 评论 -
递归函数演绎示例
递归函数脚本要求方法一脚本内容执行效果方法二脚本内容执行结果脚本要求使用递归函数历遍PATH环境变量下的所有目录以及可执行文件方法一脚本内容#!/bin/bash###########添加分隔符#######################IFS=$IFS':'############递归函数#########################list () {for F in $1/*doif [ -d $F ] then echo "$2目录:$F" list "$F" "原创 2020-08-22 14:13:44 · 684 阅读 · 1 评论 -
利用while和for循环制作九九乘法表
九九乘法表使用for循环脚本内容执行后结果使用while循环脚本内容执行结果使用for循环脚本内容#!/bin/bashfor ((i=1; i<=9; i++)) do for ((n=1; n<=i; n++)) do sum=$[$i*$n] echo -ne "$i*$n=$sum\t" done echo ""done执行后结果使用while循环脚本内容#!/bin/basha=1b=1while [ $a -le 9 ]do let原创 2020-08-22 13:20:22 · 1565 阅读 · 1 评论 -
精简!!SHELL条件语句,if、case用法
条件语句一、条件测试1.条件测试操作2.文件测试与整数测试文件测试格式:3.字符串测试与逻辑测试字符串比较格式:逻辑测试格式:二、if语句1.if单分支语句格式流程图2.if双分支语句格式流程图3.if多分支语句格式流程图三、case分支语句格式流程图一、条件测试1.条件测试操作要使 Shell 脚本程序具备一定的“智能”,面临的第一个问题就是如何区分不同的情况以确定执行何种操作。Shell 环境根据命令执行后的返回状态值($?)来判断是否执行成功,当返回值为 0 时表示成功,否则(非 0 值)表示失原创 2020-08-21 14:44:42 · 1558 阅读 · 1 评论 -
!浅识!shell函数及数组
Shell 函数及数组SHELL函数函数的用法基本格式函数的调用示例函数变量的作用范围示例函数的参数递归函数SHELL 数组数组定义的方法数组的基本使用方法:1.获取数组长度2.读取某下标赋值3.数组遍历4.数组切片5.数组替换6.数组删除SHELL函数函数的用法Shell 函数可用于存放一系列的指令。在 Shell 脚本执行的过程中,函数被置于内存中, 每次调用函数时不需要从硬盘读取,因此运行的速度比较快。在 Shell 编程中函数并非是必须的元素,但使用函数可以对程序进行更好的组织。将一些相对独立原创 2020-08-21 11:50:15 · 2065 阅读 · 1 评论 -
简单易懂!!shell循环语句!for、while、until
这里写目录标题for循环语句基本格式流程路while循环语句while语句结构流程图until循环语句until语句基本结构流程图for循环语句在实际工作中,经常会遇到某项任务需要多次执行的情况,而每次执行时仅仅是处理的 对象不一样,其他命令相同,利用for循环,从取值列表中读取不同的变量值,用来逐个执行同一组命令。基本格式流程路while循环语句for 循环语句非常适用于列表对象无规律,且列表来源已固定(如某个列表文件)的场合。而对于要求控制循环次数、操作对象按数字顺序编号、按特定条件原创 2020-08-21 11:06:08 · 2549 阅读 · 1 评论 -
shell基础!!熟悉编程规范与变量
SHELL一、SHELL规范SHELL简单介绍执行SHELL脚本二、SHELL脚本变量交互式硬件设备1.重定向操作2.管道符"|"3.Shell 变量的作用、类型■变量的作用■变量的类型3.1自定义变量■定义一个新的变量■赋值时使用引号■整数变量的运算3.2特殊变量■环境变量■只读变量■位置变量■预定义变量一、SHELL规范SHELL简单介绍Bash(/bin/bash)是目前大多数 Linux 版本采用的默认 Shell。Bash 的全称为 Bourne Again Shell,是最受欢迎的开源软件原创 2020-08-21 10:47:35 · 1611 阅读 · 1 评论 -
实用!!服务器监测邮箱报警
Linux系统下使用SMTP发送邮件下载并安装SMTP组件邮箱发送脚本Linux系统下使用SMTP发送邮件下载并安装SMTP组件可以使用wget在线网上下载wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz解压软件包tar -zxvf sendEmail-v1.56.tar.gz将执行文件放到/usr/local/bin/下方便调用cp sendEmail-v1..原创 2020-08-28 12:14:42 · 2141 阅读 · 1 评论 -
热门!!shell三剑客之“sed”
sed工具概述sed工具概述sed(Stream EDitor)是一个强大而简单的文本解析转换工具,可以读取文本,并根据指定的条件对文本内容进行编辑(删除、替换、添加、移动等),最后输出所有行或者仅输出处理的某些行。sed 也可以在无交互的情况下实现相当复杂的文本处理操作,被广泛应用于 Shell 脚本中,用以完成各种自动化处理任务。sed 的工作流程主要包括读取、执行和显示三个过程。读取:sed 从输入流(文件、管道、标准输入)中读取一行内容并存储到临时的缓冲区中(又称模式空间,pattern.原创 2020-08-26 15:10:23 · 2237 阅读 · 1 评论 -
热门!!shell三剑客之“awk”
awk工具概述awk常用格式示例awk工具概述在 Linux/UNIX 系统中,awk 是一个功能强大的编辑工具,逐行读取输入文本,并根据指定的匹配模式进行查找,对符合条件的内容进行格式化输出或者过滤处理,可以在无交互的情况下实现相当复杂的文本操作,被广泛应用于 Shell 脚本,完成各种自动化配置任务。awk常用格式通常情况下 awk 所使用的命令格式如下所示,其中,单引号加上大括号“{}”用于设置对数据进行的处理动作。awk 可以直接处理目标文件,也可以通过“-f”读取脚本对目标文件进行处理。.原创 2020-08-25 19:49:35 · 1105 阅读 · 1 评论 -
重点!!shell之正则表达式及sort、uniq、tr文本编辑器
正则表达式概述常用元字符:扩展正则表达式:文本编辑器sort 工具格式常用选项示例uniq 工具格式常用选项正则表达式概述基础正则表达式是常用正则表达式最基础的部分。在 Linux 系统中常见的文件处理工具中 grep 与 sed 支持基础正则表达式,而 egrep 与 awk 支持扩展正则表达式。常用元字符:常用元字符作用\转义字符,如、\!、\n等^匹配输入字符串的开始位置。除非在方括号表达式中使用,表示不包含该字符集合。$匹配输入字符串的结尾位置。.匹配除“.原创 2020-08-25 17:08:57 · 556 阅读 · 2 评论