Linux
DYY^O^
这个作者很懒,什么都没留下…
展开
-
Shell中的expect预期交互
本案例要求编写一个expect脚本,实现SSH登录的自动交互:• 提前准备好目标主机,IP地址为192.168.4.100• 执行脚本后自动登入,并且在目标主机建立测试文件 /tmp/mike.txtexpect可以为交互式过程(比如FTP、SSH等登录过程)自动输送预先准备的文本或指令,而无需人工干预。触发的依据是预期会出现的特征提示文本。储备知识(发送邮件的几种方式):1. [root@dyy ~]# echo "test mail" | mail -s test root2. [root@原创 2020-07-26 15:51:19 · 215 阅读 · 0 评论 -
Shell字符串初值的处理(求从1-x的和)
本案例要求编写一个脚本sumx.sh,求从1-x的和,相关要求如下:• 从键盘读入x值• 当用户未输入任何值时,默认按1计算通过var:−word判断变量是否存在,决定变量的初始值。步骤一:认识字符串初值的最常见处理方法1)只取值,{var:-word}判断变量是否存在,决定变量的初始值。步骤一:认识字符串初值的最常见处理方法1)只取值,var:−word判断变量是否存在,决定变量的初始值。步骤一:认识字符串初值的最常见处理方法1)只取值,{var:-word}若变量var已存在且非Null,则原创 2020-07-26 15:44:10 · 197 阅读 · 0 评论 -
Shell字符串的替换
字符串的替换:1)只替换第1个子串格式:${变量名/old/new}还以前面的phone变量为例,确认原始值:1. [root@dyy ~]# echo $phone2. 13788768897将字符串中的第1个8替换为X:1. [root@dyy ~]# echo ${phone/8/X}2. 137X87688972)替换全部子串格式:${变量名//old/new}将phone字符串中的所有8都替换为X:1. [root@dyy ~]# echo ${phone//8/X原创 2020-07-26 15:40:22 · 29709 阅读 · 2 评论 -
Shell字符串截取
子串截取的三种用法:• 变量名:起始位置:长度•exprsubstr"{变量名:起始位置:长度} • expr substr "变量名:起始位置:长度•exprsubstr"变量名" 起始位置 长度• echo $变量名 | cut -b 起始位置-结束位置子串替换的两种用法:• 只替换第一个匹配结果:变量名/old/new•替换全部匹配结果:{变量名/old/new} • 替换全部匹配结果:变量名/old/new•替换全部匹配结果:{变量名//old/new}字符串掐头去尾:• 从左向右,原创 2020-07-26 15:35:24 · 320 阅读 · 0 评论 -
Shell例题:找出1~20以内6的倍数,并输出她的平方值
• 从键盘循环取整数(0结束)并求和,输出最终结果• 找出1~20以内6的倍数,并输出她的平方值通过break、continue、exit在Shell脚本中实现中断与退出的功能。break可以结束整个循环;continue结束本次循环,进入下一次循环;exit结束整个脚本,案例如下:1. [root@dyy ~]# vim test.sh2. #!/bin/bash3. for i in {1..5}4. do5. [ $i -eq 3 ]&&原创 2020-07-26 15:26:34 · 1148 阅读 · 0 评论 -
Shell函数
本案例要求编写脚本mycolor.sh,相关要求如下:• 将颜色输出的功能定义为函数• 调用函数,可以自定义输出内容和颜色在Shell脚本中,将一些需重复使用的操作,定义为公共的语句块,即可称为函数。通过使用函数,可以使脚本代码更加简洁,增强易读性,提高Shell脚本的执行效率1)函数的定义方法格式1:1. function 函数名 {2. 命令序列3. .. ..4. }格式2:1. 函数名() {2. 命令序列3. .. ..4. }原创 2020-07-26 15:23:56 · 231 阅读 · 0 评论 -
Shell基于case分支编写脚本
本案例要求编写test.sh脚本,相关要求如下:• 能使用redhat、fedora控制参数• 控制参数通过位置变量$1传入• 当用户输入redhat参数,脚本返回fedora• 当用户输入fedora参数,脚本返回redhat• 当用户输入其他参数,则提示错误信息case分支属于匹配执行的方式,它针对指定的变量预先设置一个可能的取值,判断该变量的实际取值是否与预设的某一个值相匹配,如果匹配上了,就执行相应的一组操作,如果没有任何值能够匹配,就执行预先设置的默认操作。case分支的语法结构如下原创 2020-07-26 15:18:34 · 146 阅读 · 0 评论 -
shell中的while循环结构猜测随机数
本案例要求编写2个使用while循环的脚本程序,分别实现以下目标:• 提示用户猜测一个随机数,直到才对为止• 检测192.168.4.0/24网段,列出不在线的主机地址while循环属于条件式的执行流程,会反复判断指定的测试条件,只要条件成立即执行固定的一组操作,直到条件变化为不成立为止。所以while循环的条件一般通过变量来进行控制,在循环体内对变量值做相应改变,以便在适当的时候退出,避免陷入死循环。while循环的语法结构如下所示:1. while 条件测试2. do3. 命令序原创 2020-07-26 15:07:48 · 420 阅读 · 0 评论 -
shell使用for循环结构检测多个主机的存活状态
本案例要求编写一个Shell脚本chkhosts.sh,利用for循环来检测多个主机的存活状态,相关要求及说明如下:• 对192.168.4.0/24网段执行ping检测• 脚本能遍历ping各主机,并反馈存活状态在Shell脚本应用中,常见的for循环采用遍历式、列表式的执行流程,通过指定变量从值列表中循环赋值,每次复制后执行固定的一组操作。for循环的语法结构如下所示:1. for 变量名 in 值列表2. do3. 命令序列4. done5. 6. for 变量名原创 2020-07-26 14:58:52 · 748 阅读 · 0 评论 -
构建MySQL服务器的完整步骤
• 安装MySQL-server、MySQl-client软件包• 修改数据库用户root的密码• 确认MySQL服务程序运行、root可控本课程将使用64位的RHEL 7操作系统,MySQL数据库的版本是5.7.17。访问http://dev.mysql.com/downloads/mysql/,找到MySQL Community Server下载页面,平台选择“Red Hat Enterprise Linux 7/ Oracle Linux”,然后选择64位的bundle整合包下载注意:下载M原创 2020-07-24 09:59:22 · 801 阅读 · 0 评论 -
Shell使用if选择结构
if单分支的语法组成:if 条件测试then命令序列fiif双分支的语法组成:if 条件测试then命令序列1else命令序列2fiif多分支的语法组成:if 条件测试1 ;then命令序列1elif 条件测试2 ;then命令序列2else命令序列nfi案例要求编写3个Shell脚本,分别实现以下目标:• 检测/media/cdrom目录,若不存在则创建• 检测并判断指定的主机是否可ping通• 从键盘读取一个论坛积分,判断论坛用户等级,等级分类原创 2020-07-24 09:45:53 · 325 阅读 · 0 评论 -
shell条件测试操作
步骤一:条件测试的基本用法1)语法格式使用“test 表达式”或者[ 表达式 ]都可以,表达式两边至少要留一个空格。条件测试操作本身不显示出任何信息。测试的条件是否成立主要体现在命令执行后的返回状态(即 ?),所以可以在测试后查看变量?),所以可以在测试后查看变量?),所以可以在测试后查看变量?的值来做出判断,或者结合&&、||等逻辑操作显示出结果(或作其他操作) 。步骤二:字符串测试1)== 比较两个字符串是否相同检查当前用户是否为root。当root用户执行时:[roo原创 2020-07-24 09:37:16 · 422 阅读 · 0 评论 -
Shell中那些你必须知道的数值运算
步骤一:整数运算工具1)使用expr命令乘法操作应采用 * 转义,避免被作为Shell通配符;参与运算的整数值与运算操作符之间需要以空格分开,引用变量时必须加$符号。首先定义变量X=1234,然后分别计算与78的加减乘除和求模运算结果:1. [root@svr5 ~]# X=1234 //定义变量X2. [root@svr5 ~]# expr $X + 78 //加法3. 13124. [原创 2020-07-24 09:31:32 · 160 阅读 · 0 评论 -
简单明了的Linux网络配置
原创 2020-07-21 10:22:26 · 94 阅读 · 0 评论 -
在虚拟机中安装Linux
加粗样式原创 2020-07-21 10:19:35 · 80 阅读 · 0 评论 -
创建Linux虚拟机
hadoop集群搭建原创 2020-07-21 10:12:23 · 80 阅读 · 0 评论