(1)打印乘法口诀表

#!/bin/sh
for i in {1..9} #取1-9的数字
dofor n in {1..9} #取1-9的数字do[ $i -ge $n ] && echo -n "${i}x${n}=$((i*n)) "  #如果$i大于等于$n,则输出。done
echo " "
done

效果:

[root@shell day3]# sh for9X9.sh
1x1=1 
2x1=2 2x2=4 
3x1=3 3x2=6 3x3=9 
4x1=4 4x2=8 4x3=12 4x4=16 
5x1=5 5x2=10 5x3=15 5x4=20 5x5=25 
6x1=6 6x2=12 6x3=18 6x4=24 6x5=30 6x6=36 
7x1=7 7x2=14 7x3=21 7x4=28 7x5=35 7x6=42 7x7=49 
8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64 
9x1=9 9x2=18 9x3=27 9x4=36 9x5=45 9x6=54 9x7=63 9x8=72 9x9=81

(2)批量添加用户及随机密码

 #!/bin/sh
for i in `seq -w 10`
do
user=oldboy-$i   #定义用户
pass=`echo $RANDOM|md5sum |cut -c 1-8 ` #定义密码,取8位数。这里的密码即为随机的字母和数字的组合。可搜索$RANDOM环境变量及md5sum命令详解。
echo "user:$user   password:$pass" >>/tmp/user.txt  #将账号和密码输入到一个文件内,以便查询。
useradd $user && echo "$pass" |passwd --stdin $user  #无交互的添加密码。
done

效果:

[root@shell day3]# cat /tmp/user.txt
user:oldboy-01   password:d4198542
user:oldboy-02   password:6e025742
user:oldboy-03   password:1a94ac35
user:oldboy-04   password:594bb055
user:oldboy-05   password:fcecc05c
user:oldboy-06   password:3957ee7a
user:oldboy-07   password:1454a6e7

.............................................................

(3)mysql分库分表备份

分库备份:

#!/bin/sh
MYUSER=root  #mysql的用户
MYPASS=123456  #mysql root用户的密码
MYCMD="mysql -u$MYUSER -p$MYPASS"   #定义了mysql命令
MYDUMP="mysqldump -u$MYUSER -p$MYPASS"   #定义了mysqldump命令
DATABASE=`$MYCMD -e "show databases;"|sed '1d'|egrep -v "mysql|performance_schema|information_schema"`  #获取到数据库名
for database in $DATABASE
do
$MYDUMP -B $database|gzip >/server/backup/${database}_$(date +%F).sql.gz   #for循环分库备份
done

分表备份:

#!/bin/sh
MYUSER=root
MYPASS=123456
MYCMD="mysql -u$MYUSER -p$MYPASS"
MYDUMP="mysqldump -u$MYUSER -p$MYPASS"
DATABASE=`$MYCMD -e "show databases"|sed '1d'|egrep -v "mysql|performance_schema|information_schema"`
for database in $DATABASE
do
[ ! -d /server/backup/$database ] && mkdir -p /server/backup/$database   #创建以数据库名命名的目录
TABLE=`$MYCMD -e "show tables from $database;"|sed '1d'` #获取表名for table in $TABLEdo$MYDUMP $database $table |gzip >/server/backup/$database/${database}_${table}_$(date +%F).sql.gz  #for循环分表备份done
done

分表备份效果:

[root@shell backup]# ll
总用量 64
drwxr-xr-x. 2 root root 24576 6月   6 16:00 bbs
drwxr-xr-x. 2 root root  4096 6月   6 16:00 blog
drwxr-xr-x. 2 root root  4096 6月   6 16:00 lee_default
drwxr-xr-x. 2 root root  4096 6月   6 16:00 lee_gbk
drwxr-xr-x. 2 root root  4096 6月   6 16:00 lee_utf8
drwxr-xr-x. 2 root root  4096 6月   6 16:00 liyiliang
drwxr-xr-x. 2 root root  4096 6月   6 16:00 test
drwxr-xr-x. 2 root root  4096 6月   6 16:00 test1
drwxr-xr-x. 2 root root 12288 6月   6 16:00 www

[root@shell backup]# tree   #部分数据

................................................

x   tqq bbs_pre_ucenter_pm_messages_8_2014-06-06.sql.gz
x   tqq bbs_pre_ucenter_pm_messages_9_2014-06-06.sql.gz
x   tqq bbs_pre_ucenter_protectedmembers_2014-06-06.sql.gz
x   tqq bbs_pre_ucenter_settings_2014-06-06.sql.gz
x   tqq bbs_pre_ucenter_sqlcache_2014-06-06.sql.gz
x   tqq bbs_pre_ucenter_tags_2014-06-06.sql.gz
x   mqq bbs_pre_ucenter_vars_2014-06-06.sql.gz
tqq blog
x   tqq blog_wp_commentmeta_2014-06-06.sql.gz
x   tqq blog_wp_comments_2014-06-06.sql.gz
x   tqq blog_wp_links_2014-06-06.sql.gz
x   tqq blog_wp_options_2014-06-06.sql.gz
x   tqq blog_wp_postmeta_2014-06-06.sql.gz
x   tqq blog_wp_posts_2014-06-06.sql.gz
x   tqq blog_wp_term_relationships_2014-06-06.sql.gz
x   tqq blog_wp_terms_2014-06-06.sql.gz
x   tqq blog_wp_term_taxonomy_2014-06-06.sql.gz
x   tqq blog_wp_usermeta_2014-06-06.sql.gz
x   mqq blog_wp_users_2014-06-06.sql.gz
tqq lee_default
tqq lee_gbk
tqq lee_utf8
x   tqq lee_utf8_leesir_2014-06-06.sql.gz
x   mqq lee_utf8_test_2014-06-06.sql.gz
tqq liyiliang

.................................................

转载于:https://blog.51cto.com/chocolee/1424570

shell之for循环的3个简单脚本相关推荐

  1. for循环批量写文件 shell_shell之for循环的3个简单脚本

    (1)打印乘法口诀表#!/bin/sh for i in {1..9} #取1-9的数字 do for n in {1..9} #取1-9的数字 do [ $i -ge $n ] && ...

  2. Shell中的循环语句for、while、until实例讲解

     在编程语言中,循环语句是最基本的语法之一,在Shell(这里是Bash)中也不例外,再把以前自己写过的相关内容整理一下吧. 这里包括for/while/until循环,以及变量自增的语法实例. ...

  3. linux shell中实现循环日期的实例代码

    这篇文章主要介绍了linux shell中实现循环日期的实例代码,文中还给大家提到了LINUX SHELL遍历日期(指定输入两个日期)的实现方法,感兴趣的朋友跟随小编一起看看吧 下面通过一段代码给大家 ...

  4. 2021-09-09【linux】丨shell使用for循环遍历文件/数组

    目录 摘要 for循环遍历文件使用方法 方法一 方法二 总结 摘要 在日常生信分析过程中,分析员或多或少会使用for循环批量处理样品或者分组.这里我简单整理一下自己常用的两种遍历方法. for循环遍历 ...

  5. Linux循环中累计数据,linux shell 读取for循环中出现难处理的数据之单引号错误实例...

    原语句: #!/bin/bash for test in I don't know if this'll work do echo "work:$test" done 结果: wo ...

  6. linux shell 的 for 循环

    在shell用for循环做数字递增的时候发现问题,特列出shell下for循环的几种方法: 1. for i in `seq 1 1000000`;do echo $i done 用seq 1 100 ...

  7. SHELL简单脚本编写

    vim /root/7.sh #!/bin/bash X=$[RANDOM%10+1] read -p "[1-10]你猜:" cai if [ $cai -eq $X ];the ...

  8. shell中while循环案例

    shell中while循环案例 新建一个文件:  while_test.sh  ,复制一下代码: i=0 while ((i < 9))                             ...

  9. shell编程之循环语句

    shell编程之循环语句 文章目录 shell编程之循环语句 一.for循环语句 1. for循环语法结构 ㈠ 列表循环 2. 应用案例 二.while循环语句 1. while循环语法结构 2. 应 ...

最新文章

  1. 信息系统项目管理师优秀论文:项目风险管理--jiangyiwu
  2. ssh(Spring+Spring mvc+hibernate)——hibernate.cfg.xml
  3. Nginx笔记-关于nginx.conf中proxy_pass中末尾不加/的坑
  4. 调制的缺点_DML、EAM与MZI调制的比较
  5. IOS 获取系统通讯录中的联系人信息
  6. HDU 1234- 开门人和关门人
  7. 136_原始套接字_链路层MAC包_模仿他人飞秋,给自己主机上的飞秋【发送UDP数据】【只需要修改包含用户名、头像信息的数组】
  8. 如何在springboot中返回jsp页面
  9. 面对台风“烟花”,旅行延误会如何赔付?
  10. 全球半导体今年出货有望创新高,蓝牙芯片需求强劲
  11. php图片留白,img底部留白问题的六大解决方法
  12. 线程、进程、多线程、多进程 和 多任务 小结
  13. 宝库\要出发 IOS面试试题
  14. 组合数学的一些常见公式
  15. 基于C++如何使用EGE做一个简单的坦克大战游戏
  16. sql:查询选修了全部课程的学生姓名
  17. CSS-border边框
  18. 什么是Redis缓存穿透?redis面试题及答案(附面试题大全)
  19. java旅游管理开题答辩ppt,旅游管理开题报告
  20. 获取屏幕大小 android,Android获取屏幕大小

热门文章

  1. 计算机科学家论文引用排名:LeCun终于晋身三巨头
  2. 合作 | IEIC·IT耳朵智能创新大会:人工智能落地将带来新风口
  3. 在route-map中使用verify-availability确保路由可用性
  4. bash的快捷键、特殊参数、历史命令、相关文件
  5. springmvc多文件上传
  6. PacMan开发-碰撞检测实现
  7. ANDROID 4.0 SDK R14 模拟器
  8. Gmail最新功能实测:离线版上线增加手势(多图)
  9. freemarker开发指南
  10. centos7安装kubernetes 1.1