随笔分类 -  shell

摘要:题目要求 想办法把文本里面每三行内容合并到一行 例如:1.txt内容 1 2 3 4 5 6 7 处理后应该是 ``` 1 2 3 4 5 6 7 ``` #!/bin/bash n=1 cat $1 |while read line do n1=$[$n%3] if [ $n1 -eq 0 ] t 阅读全文
posted @ 2021-04-21 09:48 星火撩原 阅读(324) 评论(0) 推荐(0) 编辑
摘要:题目要求 先普及一个小常识,我们用ps aux可以查看到进程的PID,而每个PID都会在/proc内产生。如果查看到的pid在proc内是没有的,则进程被人修改了,这就代表系统很有可能已经被入侵过了。 请用上面知识编写一个shell,定期检查下自己的系统是否被人入侵过 #!/bin/bash pp= 阅读全文
posted @ 2021-04-21 09:40 星火撩原 阅读(62) 评论(0) 推荐(0) 编辑
摘要:题目要求 写一个shell脚本,执行中每隔5分钟检查用户是否登录系统,用户名从命令行输入,如果指定的用户已经登录,则显示相关信息。 #!/bin/bash while : do username=$(w |awk 'NR>2 {print $1}') echo "用户$username已经登录系统. 阅读全文
posted @ 2021-04-21 09:32 星火撩原 阅读(61) 评论(0) 推荐(0) 编辑
摘要:题目要求 写一个shell脚本,实现简单的弹出式菜单功能,用户能根据显示的菜单项从键盘选择执行对应的命令。 #!/bin/bash PS3="Please input your choice(1-4): " select i in w ls pwd quit do case $i in w) w ; 阅读全文
posted @ 2021-04-21 09:13 星火撩原 阅读(403) 评论(0) 推荐(0) 编辑
摘要:题目要求 编写一个问候程序,它执行时能根据系统当前的时间向用户输出问候信息。假设从半夜到中午为早晨,中午到下午六点为下午,下午六点到半夜为晚上。 #!/bin/bash d=`date +%H` if [ $d -ge 0 -a $d -lt 7 ] then tag=1 elif [ $d -ge 阅读全文
posted @ 2021-04-21 09:06 星火撩原 阅读(121) 评论(0) 推荐(0) 编辑
摘要:题目要求 输入一串随机数字,然后按千分位输出。 比如输入数字串为“123456789”,输出为123,456,789。 参考答案 #!/bin/bash n=`echo $1|wc -L` for d in `echo $1|sed 's/./& /g'` do n2=$[$n%3] if [ $n 阅读全文
posted @ 2021-02-26 12:36 星火撩原 阅读(147) 评论(0) 推荐(0) 编辑
摘要:题目要求 写一个shell脚本,检查指定的shell脚本是否有语法错误,若有错误,首先显示错误信息,然后提示用户输入q或者Q退出脚本,输入其他内容则直接用vim打开该shell脚本。 参考答案 #!/bin/bash sh -n $1 2>/tmp/sh.err if [ $? -ne 0 ] th 阅读全文
posted @ 2021-02-26 12:34 星火撩原 阅读(321) 评论(0) 推荐(0) 编辑
摘要:题目要求 写一个shell脚本,把192.168.0.0/24网段在线的ip列出来。 参考答案 #!/bin/bash for i in `seq 1 254` do if ping -c 2 -W 2 192.168.0.$i >/dev/null 2>/dev/null then echo "1 阅读全文
posted @ 2021-02-26 12:33 星火撩原 阅读(324) 评论(0) 推荐(0) 编辑
摘要:题目要求 系统logrotate工具,可以完成日志切割、归档。写一个shell脚本实现类似的归档功能。 举例: 假如服务的输出日志是1.log,要求每天归档一个,1.log第二天就变成1.log.1,第三天1.log.2, 第四天 1.log.3 一直到1.log.5。 参考答案 #!/bin/ba 阅读全文
posted @ 2021-02-26 12:32 星火撩原 阅读(53) 评论(0) 推荐(0) 编辑
摘要:题目要求 用shell实现,把一个文本文档中只有一个数字的行给打印出来。 参考答案 #!/bin/bash while read line do n=`echo $line |sed 's/[^0-9]//g'|wc -L` if [ $n -eq 1 ] then echo $line fi do 阅读全文
posted @ 2021-02-26 12:29 星火撩原 阅读(69) 评论(0) 推荐(0) 编辑
摘要:题目要求 写一个shell脚本,能实现如下需求: 1. 执行脚本后,提示输入名字(英文的,可以是大小写字母、数字不能有其他特殊符号),然后输出一个随机的0-99之间的数字,脚本并不会退出,继续提示让输入名字 2. 如果输入相同的名字,输出的数字还是第一次输入该名字时输出的结果 3. 前面已经输出过的 阅读全文
posted @ 2021-02-26 12:26 星火撩原 阅读(181) 评论(0) 推荐(0) 编辑
摘要:题目要求 写一个猜数字脚本,当用户输入的数字和预设数字(随机生成一个0-100的数字)一样时,直接退出,否则让用户一直输入,并且提示用户的数字比预设数字大或者小。 参考答案 #!/bin/bash n=$[$RANDOM%101] while : do read -p "请输入一个0-100的数字: 阅读全文
posted @ 2021-02-26 12:22 星火撩原 阅读(61) 评论(0) 推荐(0) 编辑
摘要:题目要求 定义一个shell函数,能接受两个参数,满足以下要求: 1. 第一个参数为URL,即可下载的文件,第二个参数为目录,即下载后保存的位置 2. 如果用户给的目录不存在,则提示用户是否创建,如果创建就继续执行,否则,函数返回一个51的错误值给调用脚本 3. 如果给的目录存在,则下载文件,下载命 阅读全文
posted @ 2021-02-26 12:05 星火撩原 阅读(133) 评论(0) 推荐(0) 编辑
摘要:题目要求 写一个脚本,实现如下功能: 1. 脚本可以带参数也可以不带 2. 参数可以有多个,每个参数必须是一个目录 3. 脚本检查参数个数,若等于0,则列出当前目录本身,否则显示每个参数包含的子目录。 参考答案 #!/bin/bash if [ $# -eq 0 ] then echo "当前目录下 阅读全文
posted @ 2021-02-26 12:03 星火撩原 阅读(79) 评论(0) 推荐(0) 编辑
摘要:题目要求 提示用户输入网卡的名字,然后我们用脚本输出网卡的ip,需要考虑下面问题: 1. 输入的字符不符合网卡名字规范,怎么应对。 2. 名字符合规范,但是根本就没有这个网卡又怎么应对。 参考答案 #!/bin/bash ip add |awk -F ': ' '$1 ~ "^[1-9]" {pri 阅读全文
posted @ 2021-02-26 11:31 星火撩原 阅读(138) 评论(0) 推荐(0) 编辑
摘要:题目要求 写一个脚本,执行后,打印一行提示“Please input a number:",要求用户输入数值,然后打印出该数值,然后再次要求用户输入数值。直到用户输入"end"停止。 参考答案 #!/bin/bash while : do read -p "Please input a number 阅读全文
posted @ 2021-02-22 09:40 星火撩原 阅读(270) 评论(0) 推荐(0) 编辑
摘要:题目要求 使用传参的方法写个脚本,实现加减乘除的功能。 例如: sh a.sh 1 2,这样会分别计算加、减、乘、除的结果。 要求: 1. 脚本需判断提供的两个数字必须为整数 2. 当做减法或者除法时,需要判断哪个数字大,减法时需要用大的数字减小的数字,除法时需要用大的数字除以小的数字,并且结果需要 阅读全文
posted @ 2021-02-22 09:37 星火撩原 阅读(221) 评论(0) 推荐(0) 编辑
摘要:题目要求 写一个脚本: 计算100以内所有能被3整除的正整数的和 参考答案 #!/bin/bash sum=0 for i in `seq 1 100` do j=$[$i%3] if [ $j -eq 0 ] then sum=$[$sum+$i] fi done echo $sum 阅读全文
posted @ 2021-02-22 09:34 星火撩原 阅读(350) 评论(0) 推荐(0) 编辑
摘要:题目要求 写一个支持选项的增加或删除用户的shell脚本,具体要求如下: 1. 只支持三个选项:'--del','--add','--help',输入其他选项报错。 2. 使用'--add'时,需要验证用户名是否存在,存在则反馈存在,且不添加。 不存在则创建该用户,需要设置与该用户名相同的密码。 3 阅读全文
posted @ 2021-02-22 09:32 星火撩原 阅读(82) 评论(0) 推荐(0) 编辑
摘要:题目要求 假设,当前MySQL服务的root密码为123456,写脚本检测MySQL服务是否正常(比如,可以正常进入mysql执行show processlist), 并检测一下当前的MySQL服务是主还是从,如果是从,请判断它的主从服务是否异常。如果是主,则不需要做什么。 参考答案 #!/bin/ 阅读全文
posted @ 2021-02-22 09:29 星火撩原 阅读(329) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示