linux高级的脚本,【2018.07.23学习笔记】【linux高级知识 Shell脚本编程练习】
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脚本编程练习】相关推荐
- RabbitMQ学习笔记(高级篇)
RabbitMQ学习笔记(高级篇) 文章目录 RabbitMQ学习笔记(高级篇) RabbitMQ的高级特性 消息的可靠投递 生产者确认 -- confirm确认模式 生产者确认 -- return确 ...
- Linux学习笔记-Vim编辑器与Shell命令脚本
一.Vim文本编辑器 Vim文本编辑器,它默认会安装在当前所有的Linux操作系统上,是一款超棒的文本编辑器. Vim编辑器中设置了三种模式(命令模式.末行模式和编辑模式),每种模式分别又支持多种不同 ...
- Linux学习总结(67)——shell脚本中$0 $1 $# $@ $* $? $ 等总结
$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数 $2 是传递给该shell脚本的第二个参数 $@ 是传给脚本的所有参数的列表 $* 是以一个单字符串显示 ...
- glibc-2.23学习笔记(二)—— free部分源码分析
glibc-2.23学习笔记(二)-- free部分源码分析 _libc_free _int_free 函数定义 局部变量 start fast bins部分 unsorted bins部分 mmap ...
- glibc-2.23学习笔记(一)—— malloc部分源码分析
glibc-2.23学习笔记(一)-- malloc部分源码分析 搭建Glibc源码调试环境 1.下载并解压glibc源码 2.配置gdb 3.编译测试程序 第一次调用 源码分析 __libc_mal ...
- matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色
一起来学matlab-matlab学习笔记9 高级绘图命令_2 图形的高级控制_视点控制和图形旋转_色图和颜色映像_光照和着色 觉得有用的话,欢迎一起讨论相互学习~ 参考书籍 <matlab 程 ...
- 好记性不如烂笔头-linux学习笔记4apache相关知识
好记性不如烂笔头-linux学习笔记4apache相关知识 apache 启动有2种模式 1是prefork模式,每个进程对应一个线程,如果是比较稳定的平台,那么prefork模式是worker模式 ...
- git学习笔记——Linux和Windows下git的基本操作
git学习笔记--Linux和Windows下git的基本操作 github主页:https://github.com/Taot-chen 一.Linux环境 1.安装git sudo apt-get ...
- 多路径配置udev_学习笔记:Linux多路径配置 multipath实现设备用户组绑定详细设置...
天萃荷净 Linux多路径软件配置,通过multipath实现设备用户组绑定详细设置 现在的Linux系统中,很多都会使用系统自带的multipath多路径软件,在以前的版本中,我们一般通过multi ...
最新文章
- 【spring】使用eclipse在没网时编写配置文件无法获取提示 解决方法
- 使用OpenCV和Dlib的头部姿态估计
- 微信小程序新增推广功能,支持自定义关键词
- mysql sequence java_MySQL增加Sequence管理功能
- AD检查步骤及其顺序
- 十大热门编程语言优缺点对比
- IOS开发学习资料集合(开发必备)
- 小米手机-解BL锁+开ROOT权限
- influxdb的retention policy
- fastLane 初试
- 网页爬虫1--正则表达式
- 入库订单(组合关系、主从表)模型
- 物化视图、普通视图及其区别
- 苹果手机解压缩软件_BetterZip 5 for Mac(苹果专用解压缩软件)
- 项目 3: 创建用户分类
- 程序员双十一必备购物清单
- 阿里云携手 Elastic 及社区大咖们共同打造 《Elastic Stack 实战手册》电子书
- 如何DIY属于自己的智能拐杖
- 2021-08-12 Android APP 保持屏幕常亮和取消屏幕常亮方法
- FFmpeg下载及命令行使用
热门文章
- 云计算入门科普系列:云计算与人工智能
- mysql外键依靠主键_mysql设置外键(主键依赖)
- clickhouse 同步mysql_ClickHouse和他的朋友们(11)MySQL实时复制之GTID模式
- mysql bdb 锁_BDB锁共享区域
- SQL Server 2008 R2 安装
- 是什么计算机接入网络的接口设备,什么是计算机接入网络的接口设备
- leetcode题解98-验证二叉搜索树
- Never Wait for Weights(带权并查集+路径压缩)
- [jQuery] 通过ajax保存到服务器,成功显示信息.
- gitHub上传项目