写一个脚本,计算100以内所有的奇数的和以及所有偶数的和,分别显示出来
#! /bin/bash
sum1=0
for i in `seq 1 2 100`
do
sum1=$[$sum1+$i]
done
echo $sum1

sum2=0
for j in `seq 2 2 100`
do
sum2=$[$sum2+$j]
done
echo $sum2

写一个脚本,利用RANDOM生成10个随机数,并且找出最大值和最小值

for i in `seq 1 10`
do
n[$i]=$RANDOM
echo ${n[$i]} >> tmp.txt
done
a=`sort -n tmp.txt|head -n1`
b=`sort -n tmp.txt|tail -n1`
echo "a="$a
echo "b="$b

======
if [ -z $hdir ] 判断是否为空
if [ -n $hdir ] 判断是否不为空
======
写一个脚本,检查普通用户的家目录是否存在,比如apache用户存在,输出exit
,如果不存在,输出not exist

read -p "please input a user name;" username
hdir1=`awk -F: '$1=="'$username'"' /etc/passwd`
if [ -z $hdir1 ]
then
echo "the user you input is not exist"
exit
fi
hdir=`echo $hdir1| awk -F: '{print $6}'`
if [ -z $hdir ]
then
echo "the user you input is not exist"
exit
fi
if [ -z $hdir ]
then
echo "$username's homedir is $hdir and exist"
else
echo "$username's homedir is $hdirnot exist"
fi

写一个脚本,完成以下任务
1,添加5个用户,usr1,,,,user5
2,每个用户的密码同用户名,而且要求,添加密码完成后不显示passwd命令执行结果信息
3,每个用户添加完成后,都要显示用户某某已经添加成功

for i in {1..5}
do
if ! grep -q "^user$i:" /etc/passwd
then
useradd usr"$i"
echo -e "user$i\nuser$i\n" |passwd user"$i" >/dev/null 2>&1
echo "add user done"
else
echo "the user user$i exist"
continue
fi
done

数字范围加到 100-999
如果数值超过正负 50 会提示:太大,太小
如果数值在正负 50 之间会提示,很接近

m=$[$RANDOM%900+100]
while :
do
read -p "input a number:" n
#n1=$[$m+50]
#n2=$[$m-50]

if [ "$n" -gt "$m" ]
then
echo "bingger"
fi
if [ "$n" -lt "$m" ]
then
echo "smaller"
fi
if [ "$n" -eq "$m" ]
then
echo "right"
exit
fi
done

写一个脚本,计算100以内所有能被3整除的正整数的和
sum=0
for i in {1..100}
do
n=$[$i%3]
if [ "$n" -eq 0 ]
then
sum=$[$sum+$i]
fi
done
echo $sum

写一个脚本,执行后,打印一行提示 “please input a number”,要求用户输入数值,然后打印出该数值,然后再次要求用户输入数值,知道用户输入 end 停止

while :
do
read -p "please input a number:" n
if [ "$n" == "end" ]
then
exit
fi
m=`echo $n|sed 's/[0-9]//g'`
if [ -n "$m" ] 不为空
then
echo "it's not number,please input a number."
else
echo $n
fi
done

当根目录所在硬盘的使用率大于85%时输出警告信息

df |awk '$6=="/"'

df |awk '$6=="/" ' |awk -F '[%" "]+' '{print $5}'
awk支持多个分隔符,这里是%和空格,+表示百分号空格可以有多个

echo "a b%c%d e" |awk -F '[%" "]' '{print $3,$5}'

df |awk '$6=="/" ' |awk -F '[%" "]+' '{print $6}'

shell练习题讲解的更多相关文章

  1. shell基础练习题讲解

    1037774765 克隆 1.创建一个用户redhat,其ID号为1001,基本组为like(组ID为2002),附近租为linux. groupadd -g 2002 likegroupadd l ...

  2. shell 脚本之 shell 练习题汇总

    整理了一些 shell 相关的练习题,记录到这里. 1. 请按照这样的日期格式 xxxx-xx-xx 每日生成一个文件,例如:今天生成的文件为 2013-09-23.log, 并且把磁盘的使用情况写到 ...

  3. shell练习题5

    需求如下: 用shell实现,把一个文件文档中只有一个数字的行给打印出来.(以/password文件为例,自行修改) 参考解答如下 方法1 #!/bin/bash file_name=passwd n ...

  4. shell练习题4

    需求如下: 系统logrotate工具,可以完成日志切割.归档.写一个shell脚本实现类似功能. 举例:假如服务的输出日志是1.log,要求每天归档一个,1.log第二天就变成1.log.1, 第三 ...

  5. shell练习题2

    需求如下: 写一个shell脚本,检查指定的shell脚本是否有语法错误,若有错误,首先显示错误信息,然后提示用户输入q或Q退出脚本, 输入其他内容则直接用vim打开该shell脚本. 参考解答如下 ...

  6. shell练习题1

    需求如下: 写一个shell脚本,把10.0.1.0/24网段在线的ip列出来. 参考解答如下 方法1 #!/bin/bash ip="10.0.1." for i in $(se ...

  7. shell练习题

    一.编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息. 原文代码为:         Shell   1 2 3 4 5 6 7 8 9 10 #!/bin/bash ...

  8. shell 练习题

    1.编写脚本/bin/per.sh,判断当前用户对指定参数文件,是否不可读并且不可写 read -p "Please Input A File: " file if [ ! -e ...

  9. shell 练习题1

    1.实现每次打开一个xx.sh时,自动添加注释信息 [root@chengyinwu ~]# cat .vimrc set ignorecase set nu set autoindent autoc ...

随机推荐

  1. elasticsearch按范围聚合

    范围聚合适用于对数据按照指定范围进行分类聚合的应用场景,from和to表示范围起始值的半开半闭区间(包含from值不包含to值),key表示别名 如 {:key=>"2h", ...

  2. error: command 'aarch64-linux-gnu-gcc' failed with exit status 1

    使用jetson tx2安装tensorpack时报错: error: command 'aarch64-linux-gnu-gcc' failed with exit status 1 改正: 如果 ...

  3. python2.7入门---CGI编程&表单操作&cookie操作

        看到标题我们首先有个疑问,什么是CGI?CGI 目前由NCSA维护,NCSA定义CGI为:CGI(Common Gateway Interface),通用网关接口,它是一段程序,运行在服务器上 ...

  4. 北京Uber优步司机奖励政策(1月5日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  5. 武汉Uber优步司机奖励政策(1月11日~1月17日)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

  6. Ubuntu 18启动失败 Started Hold until boot procss finishes up

    原因: 启动ubuntu 的时候,磁盘空间不够了. 解决方法: 启动Ubuntu 的时候,选择Advanced options for Ubuntu 然后选择recovery 之后选择clean 清理 ...

  7. Qt 解析EXcel文件

    写代码需要将excel中的文件导入到数据库中 网上找到以为大神写的,但是当初没有保存,也没有找到 我几乎是原分不动拔下来的,希望大神莫怪 void AddDialog::readExcel(QStri ...

  8. web自动化测试框架总结

    web自动化测试框架总结: https://www.processon.com/mindmap/5bdab924e4b0878bf41e9e09

  9. selenium自动化一点记录

    UI自动化 1.webdriver的findElement方法可以查找页面某元素,通常使用方式是通过id和name进行查找 1.By ID根据id进行定位 WebElement element=dri ...

  10. python内建模块Collections

    # -*- coding:utf-8 -*- # OrderedDict可以实现一个FIFO(先进先出)的dict, # 当容量超出限制时,先删除最早添加的Key: from collections ...