1、编写shell脚本,计算1-100的和;

#!/bin/bash

sum=0

for i in `seq 1 100`

do

sum=$[$sum+$i]

done

echo $sum

2、编写shell脚本,要求输入一个数字,然后计算出从1到输入数字的和,要求,如果输入的数字小于1,则重新输入,直到输入正确的数字为止;

#!/bin/bash

n=0

while [ $n -lt "1" ]

do

read -p "Please input a number: " n

done

sum=0

for i in `seq 1 $n`

do

sum=$[$sum+$i]

done

echo $sum

3、编写shell脚本,把/root/目录下的所有目录(只需要一级)拷贝到/tmp/目录下;

#!/bin/bash

cd /root/

for i in `ls /root/`

do

if[ -d $i]

then

cp -r $i /tmp/

fi

done

4、编写shell脚本,批量建立用户user_00, user_01, ... user_100并且所有用户同属于users组;

#!/bin/bash

groupadd users

for i in `seq 0 9`

do

useradd -g users user_0$i

done

for j in `seq 10 100`

do

useradd -g users user_$j

done

5、编写shell脚本,截取文件test.log中包含关键词 ‘abc’ 的行中的第一列(假设分隔符为 ”:” ),然后把截取的数字排序(假设第一列为数字),然后打印出重复次数超过10次的列;

#!/bin/bash

grep 'abc' test.log|awk -F ':' {print $1}|sort -n|uniq -c|sort -n|awk '$1 >10 {print $2}'

6、编写shell脚本,判断输入的IP是否正确(IP的规则是,n1.n2.n3.n4,其中1

checkip() {

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 "the number of the IP should less than 255 and greate than 0"

return 2

fi

done

else

echo "The IP you input is something wrong, the format is like 192.168.100.1"

return 1

fi

}

rs=1

while [ $rs -gt 0 ]; do

read -p "Please input the ip:" ip

checkip $ip

rs=`echo $?`

done

echo "The IP is right!"

linux高级的脚本,【2018.07.23学习笔记】【linux高级知识 Shell脚本编程练习】相关推荐

  1. RabbitMQ学习笔记(高级篇)

    RabbitMQ学习笔记(高级篇) 文章目录 RabbitMQ学习笔记(高级篇) RabbitMQ的高级特性 消息的可靠投递 生产者确认 -- confirm确认模式 生产者确认 -- return确 ...

  2. Linux学习笔记-Vim编辑器与Shell命令脚本

    一.Vim文本编辑器 Vim文本编辑器,它默认会安装在当前所有的Linux操作系统上,是一款超棒的文本编辑器. Vim编辑器中设置了三种模式(命令模式.末行模式和编辑模式),每种模式分别又支持多种不同 ...

  3. Linux学习总结(67)——shell脚本中$0 $1 $# $@ $* $? $ 等总结

    $# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示 ...

  4. glibc-2.23学习笔记(二)—— free部分源码分析

    glibc-2.23学习笔记(二)-- free部分源码分析 _libc_free _int_free 函数定义 局部变量 start fast bins部分 unsorted bins部分 mmap ...

  5. glibc-2.23学习笔记(一)—— malloc部分源码分析

    glibc-2.23学习笔记(一)-- malloc部分源码分析 搭建Glibc源码调试环境 1.下载并解压glibc源码 2.配置gdb 3.编译测试程序 第一次调用 源码分析 __libc_mal ...

  6. matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色

    一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色 觉得有用的话,欢迎一起讨论相互学习~ 参考书籍 <matlab 程 ...

  7. 好记性不如烂笔头-linux学习笔记4apache相关知识

    好记性不如烂笔头-linux学习笔记4apache相关知识 apache 启动有2种模式 1是prefork模式,每个进程对应一个线程,如果是比较稳定的平台,那么prefork模式是worker模式 ...

  8. git学习笔记——Linux和Windows下git的基本操作

    git学习笔记--Linux和Windows下git的基本操作 github主页:https://github.com/Taot-chen 一.Linux环境 1.安装git sudo apt-get ...

  9. 多路径配置udev_学习笔记:Linux多路径配置 multipath实现设备用户组绑定详细设置...

    天萃荷净 Linux多路径软件配置,通过multipath实现设备用户组绑定详细设置 现在的Linux系统中,很多都会使用系统自带的multipath多路径软件,在以前的版本中,我们一般通过multi ...

最新文章

  1. 【spring】使用eclipse在没网时编写配置文件无法获取提示 解决方法
  2. 使用OpenCV和Dlib的头部姿态估计
  3. 微信小程序新增推广功能,支持自定义关键词
  4. mysql sequence java_MySQL增加Sequence管理功能
  5. AD检查步骤及其顺序
  6. 十大热门编程语言优缺点对比
  7. IOS开发学习资料集合(开发必备)
  8. 小米手机-解BL锁+开ROOT权限
  9. influxdb的retention policy
  10. fastLane 初试
  11. 网页爬虫1--正则表达式
  12. 入库订单(组合关系、主从表)模型
  13. 物化视图、普通视图及其区别
  14. 苹果手机解压缩软件_BetterZip 5 for Mac(苹果专用解压缩软件)
  15. 项目 3: 创建用户分类
  16. 程序员双十一必备购物清单
  17. 阿里云携手 Elastic 及社区大咖们共同打造 《Elastic Stack 实战手册》电子书
  18. 如何DIY属于自己的智能拐杖
  19. 2021-08-12 Android APP 保持屏幕常亮和取消屏幕常亮方法
  20. FFmpeg下载及命令行使用

热门文章

  1. 云计算入门科普系列:云计算与人工智能
  2. mysql外键依靠主键_mysql设置外键(主键依赖)
  3. clickhouse 同步mysql_ClickHouse和他的朋友们(11)MySQL实时复制之GTID模式
  4. mysql bdb 锁_BDB锁共享区域
  5. SQL Server 2008 R2 安装
  6. 是什么计算机接入网络的接口设备,什么是计算机接入网络的接口设备
  7. leetcode题解98-验证二叉搜索树
  8. Never Wait for Weights(带权并查集+路径压缩)
  9. [jQuery] 通过ajax保存到服务器,成功显示信息.
  10. gitHub上传项目