写一个脚本,计算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. python学习第三天 -----2019年4月23日

    第三周-第03章节-Python3.5-集合及其运算 集合是一个无序的,不重复的数据组合,它的主要作用如下: 去重,把一个列表变成集合,就自动去重了 关系测试,测试两组数据之前的交集.差集.并集等关系 ...

  2. 后端系统开发之gflags使用规范

    任何好用的工具如果使用不当都会带来不好的后果,gflags也是一样.我遇到过一些gflags的“坑”,还从领导和同事那里获得一些好的想法,整理成7条gflags使用规范.有意识的遵循这些规范,对项目的 ...

  3. 破解有道词典在线翻译接口--python

    没什么好说的,直接上代码. import requests # import json import time import random import hashlib translate = inp ...

  4. vue组件化编程

    vue文件包含3个部分 <template> <div></div> </template> <script> export default ...

  5. 成都Uber优步司机奖励政策(3月2日)

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

  6. 青岛Uber优步司机奖励政策(9月14日~9月20日)

    由于上周银行系统升级,工资延后 9/14-9/20奖励细则 滴滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不 ...

  7. C# 调用webserver 出现:未能从程序集“jgd3jufm, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null”中加载类型

    一般都是 用的动态调用webserver,然后这次用的是固定的 首先 最后 实例化改接口,然后直接传值调用

  8. 第五模块·WEB开发基础-第2章JavaScript基础

    第1章 JavaScript基础 01-JavaScript历史介绍 02-JavaScript的组成 03-JavaScript的引入方式 04-变量的使用 05-基本数据类型(一) 06-基本数据 ...

  9. 小组ITalk网站开发中使用到的一些技巧

    ----->Display属性和Visibility属性:一个清除内容和框体,另一个只清除内容而保留窗体: $('#abc').css({ 'font-size' : '12px', '-web ...

  10. Python全栈 Web(概述、HTML基础语法)

    原文地址: https://yq.aliyun.com/articles/631222 ........................................................ ...