shell练习汇总
更新时间:2023-10-10 18:52:01 阅读量: 综合文库 文档下载
- shell分组汇总推荐度:
- 相关推荐
Shell专项练习题_独家秘制(入门级别练习)
Shell脚本操作实例
1、判断一个用户输入的是数字还是字符串。 ............................................................................. 2 2、判断输入数值是奇数或者偶数的脚本: .................................................................................... 2 3、编写shell脚本,计算1-100的和 ............................................................................................ 3 4、输入n,计算1-n的和 .............................................................................................................. 3 5、编写shell脚本,把/root/目录下的所有目录拷贝到/tmp/目录下; .................................... 3 6、向所有用户问好,并指出id,统计共有多少用户 ................................................................. 4 7、脚本练习,设置变量、读取、保存 ......................................................................................... 4 8、输入两个数,求和、差、商、积、余。 ................................................................................. 5 9、判断输入ip是否正确 ................................................................................................................ 5 10、截取文档关键词,并打印。 ................................................................................................... 6 11、更改文件属性 ........................................................................................................................... 7 12、输入符合要求的字符 ............................................................................................................... 7 14、随机输入数字,比较大小 ....................................................................................................... 8 15、输入脚本,计算所有进程所占内存之和。 ........................................................................... 9 16、找规律写脚本 ......................................................................................................................... 10
1
Shell专项练习题_独家秘制(入门级别练习)
1、判断一个用户输入的是数字还是字符串。
注意:该题目有误,没有考虑到同时输入字符和数字。 #/bin/bash
read -p \输入\
m=`echo $n|sed 's/[0-9]//g' |sed 's/[-0-9]//g'` if [ -z $m ];then echo \数字\else echo \字符\fi
2、判断输入数值是奇数或者偶数的脚本: 注意,特殊字符或者字符串不生效。 #! /bin/bash
read -p \a=$[$n%2] case $a in 1)
echo \ ;; 0)
echo \ ;; *)
echo \ ;; Esac
2
Shell专项练习题_独家秘制(入门级别练习)
3、编写shell脚本,计算1-100的和 #! /bin/bash sum=0
for i in `seq 1 100`; do sum=$[$i+$sum]i done
echo $sum
4、输入n,计算1-n的和
编写shell脚本,要求输入一个数字,然后计算出从1到输入数字的和,要求,如果输入的数字小于1,则重新输入,直到输入正确的数字为止; #!/bin/bash n=0
while [ $n -lt \
read -p \done sum=0
for i in `seq 1 $n`;do sum=$[$i+$sum] done
echo $sum
5、编写shell脚本,把/root/目录下的所有目录拷贝到/tmp/目录下; 只拷贝一个前面的文件,有问题。 #!/bin/bash cd /root
for i in `ls`;do
if [ -d $i ] ; then cp -r $i /tmp/ fi done
3
Shell专项练习题_独家秘制(入门级别练习)
6、向所有用户问好,并指出id,统计共有多少用户
要求: 1.设定变量FILE的值为/etc/passwd;2.依次向/etc/passwd中的每个用户问好,并且说出对方的ID是什么,形如:(提示:LINE=`wc -l /etc/passwd | cut -d\Hello,root,your UID is 0. 3.统计一个有多少个用户 #!/bin/bash file=/etc/passwd let num=0
for I in `cat $file`;do
username=`echo %userid=`echo \
echo \num=$[$num+1] done
echo \
7、脚本练习,设置变量、读取、保存 要求:1.设定变量file的值为/etc/passwd
2.使用循环读取文件/etc/passwd的第2,4,6,10,13,15行,并显示其内容 3.把这些行保存至/tmp/mypasswd文件中 #!/bin/bash
file=\
for I in 2 4 6 10 13 15;do exec 3>/tmp/mypasswd line=`head -$I $file | tail -1` echo \echo \exec 3>&-
4
Shell专项练习题_独家秘制(入门级别练习)
done
8、输入两个数,求和、差、商、积、余。
传递两个整数给脚本,让脚本分别计算并显示这两个整数的和,差,积,商,余。 #!/bin/bash
read -p \
read -p \sum=$[$a+$b] dev=$[$a-$b] ji=$[$a*$b] chu=$[$a/$b] yu=$[$a%$b]
echo \echo \echo \echo \echo \
9、判断输入ip是否正确 编写shell脚本,判断输入的IP是否正确(IP的规则是,n1.n2.n3.n4,其中1 if echo $1 |egrep -q '^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$' ; then 5 Shell专项练习题_独家秘制(入门级别练习) # if echo $1 |egrep -q `^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$` ;then a=`echo $1 | awk -F. '{print $1}'` b=`echo $1 | awk -F. '{print $2}'` c=`echo $1 | awk -F. '{print $3}'` d=`echo $1 | awk -F. '{print $4}'` for n in $a $b $c $d; do if [ $n -ge 255 ] || [ $n -le 0 ];then echo \ return 2 fi done else echo \ return 1 fi } rs=1 while [ $rs -gt 0 ];do read -p \checkip $ip rs=`echo $?` done echo \ 10、截取文档关键词,并打印。 截取文件test.log中包含关键词 ‘abc’ 的行中的第一列(假设分隔符为 ”:” ),然后把截取的数字排序(假设第一列为数字),然后打印出重复次数超过10次的列; #! /bin/bash 6 Shell专项练习题_独家秘制(入门级别练习) awk -F':' '$0~/abc/ {print $1}' test.log >/tmp/n.txt sort -n n.txt |uniq -c |sort -n >/tmp/n2.txt awk '$1>10 {print $2}' /tmp/n2.txt 11、更改文件属性 要求:1.创建目录/tmp/scripts 2.切换工作目录至此目录中 3.复制/etc/pam.d目录至当前目录,并重命名为test 4.将当前目录的test及其里面的文件和子目录的属主改为redhat 5.将test及其子目录中的文件的其它用户的权限改为没有任何权限 #! /bin/bash mkdir -v /tmp/scripts cd /tmp/scripts cp -r /etc/pam.d ./test chown -R sshd ./test chmod -R o-rwx ./test 12、输入符合要求的字符 输出首字母有6、x、y,输出字符数字顺序开头的字符。 #! /bin/bash date mkdir /tmp/lstest cd /tmp/lstest mkdir ald b56e 6test touch xy x2y 732 ls [ax6]* ls [[:alpha:]][[:digit:]]* 7 Shell专项练习题_独家秘制(入门级别练习) 13、测试主机ip是否在线 通过ping命令测试192.168.0.151到192.168.0.254之间的所有主机是否在线 如果在线,就显示“ip is up” 如果不在线,就显示“ip is down” ping -c1 -w1 中-c1是指ping的次数,-w是指执行的最后期限,也就是执行的时间,单位为秒 &>/dev/null 是指标准输出和错误输出都输出到/dev/null上,而不在界面上显示; 后面的&&和|| 是与和或得意思,如a&&b||c ,表示a为真,则执行b;否则执行c #!/bin/bash for I in `seq 151 254`;do ping -c1 -w1 192.168.0.$I &>/dev/null && echo \is up\|| echo \ done 14、随机输入数字,比较大小 写一个猜数字脚本,当用户输入的数字和预设数字(随机生成一个小于100的数字)一样时,直接退出,否则让用户一直输入,并且提示用户的数字比预设数字大或者小。 #!/bin/bash m=`echo $RANDOM` n1=$[$m0] while : do read -p \ if [ $n == $n1 ] then break elif [ $n -gt $n1 ] then 8 Shell专项练习题_独家秘制(入门级别练习) echo \ continue else echo \ continue fi done echo \ 15、输入脚本,计算所有进程所占内存之和。 ps 可以查看进程的内存占用大小,写一个脚本计算一下所有进程所占用内存大小的和。(提示,使用ps aux 列出所有进程,过滤出RSS那列,然后求和) [root@localhost shell]# ps aux | grep -v 'RSS TTY' |awk '{(sum=sum+$6)};END{print sum}' 脚本: #! /bin/bash sum=0 for mem in `ps aux |awk '{print $6}' |grep -v 'RSS' ` do sum=$[$sum+$mem] done echo \ 9 Shell专项练习题_独家秘制(入门级别练习) 16、找规律写脚本 邱李笔试题shell脚本: 请详细查看如下几个数字的规律,并使用shell脚本输出后面的十个数字。 10 31 53 77 105 141 ....... 试题解析: 我想大多数人都会去比较这些数字的差值: 10 31 53 77 105 141 21 22 24 28 36 但是这个差值看,并没有什么规律,而我们再仔细看的时候,发现这个差值的差值是有规律的: 10 31 53 77 105 141 21 22 24 28 36 1 2 4 8 所以,最终得出规律 #! /bin/bash a=10 for i in `seq 1 15` ;do echo $a a=$[$a+20+2**(i-1)] done 10 Shell专项练习题_独家秘制(入门级别练习) 11
正在阅读:
shell练习汇总10-10
新技术、新项目准入管理制度03-02
幼儿园大班游戏教案(15篇)07-31
燃煤锅炉烟尘治理提标改造工程融资投资立项项目可行性研究报告(中撰咨询)05-21
市卫生健康局最新年度工作总结和2022年工作安排范文04-06
第三章_曲线拟合算法的研究汇总05-31
会计综合模拟实训答案精编WORD版07-21
中国电信网络监控最终题库12-21
(沪粤版)八年级物理下册教案7.4《物体受力时怎样运动》(2)05-01
中考数学填空题压轴精选(答案详细)106-30
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 汇总
- 练习
- shell
- 语文同步测试题: 1 七律 长征(苏教版 八上)
- 省级预算单位公务卡管理暂行办法
- 2009年重庆大学传感器技术试题 - A -
- 小组合作故事
- 第三届创业板发审委委员基本信息
- 地理选修五笔记
- 土的强度综合性实验指导书
- 2017-2018学年七下福田区期末试卷(带答案)
- 高等教育学考试试题及答案
- 电气工程与其自动化本科毕业论文选题(1355个)
- 2017上半年学校七五普法工作总结
- 班级文化布置的主题特色 - 图文
- 浙江省嵊州市城关中学2012-2013学年七年级上学期语文期中试题(word版含答案)
- 附2.成都市废旧沥青混合料热再生利用管理办法03
- 《父母规》学习心得:学会真正关爱孩子
- 第六章 肥皂的检验
- 蜗杆传动参数化CAD设计 - 图文
- 传输部月考答案(OSN专题)
- 最新通用规范汉字表(加拼音版)
- 马克思主义基本原理概论选择题题库(便于打印版)