练习1,

写一个脚本分别计算1-100,之间奇数和偶数之和

ji_sum.sh

#!/bin/bash
#
let sum=
for I in {..};do
if [ $[$I%] -eq ];then
let sum+=I
fi
done
echo $sum ou_sum.sh #!/bin/bash
#
let sum=
let I=
while [ $I -le ];do
if [ $[$I%] -eq ];then
let sum+=$I
fi
let I++
done
echo $sum 2500 扩展:计算1-1000相加和,大于10000则退出

#!/bin/bash
#
let sum=0
let I=1
while [ $I -le 1000 ];do
  let sum+=I
  if [ $sum -ge 10000 ];then
    break                    # break ,条件满足,则退出程序。
  fi
  let I++
done
echo $I
echo $sum

141
10011

练习2.

while ,break

提示用户输入信息,判断是否为文件,输入’quit'则直接退出

#!/bin/bash
#
while :;do # 直接循环
read -p "File path: " FILENAME
[ $FILENAME == 'quit' ] && break #输入 'quit'退出
if [ -e $FILENAME ];then # ‘ -e ' 文件判断
echo " The is file!"
else
echo " The is not file~"
fi
done

练习3.

continue 跳出当前循环,不会退出

取出shell为bash的用户,要求:ID 大于505,且只取前6位

[root@beary test]# cat linebash.sh
#!/bin/bash
#
FILE=/etc/passwd
let I= while read LINE;do #逐行读取文档
[ `echo $LINE | awk -F: '{print $3}'` -le ] && continue
[ `echo $LINE | awk -F: '{print $7}'` == '/bin/bash' ] && echo $LINE | awk -F: '{print $1}' && let I++
[ $I -eq ] && break
done < $FILE #输入重定向 continue命令与break命令类似,只有一点差别,它不会跳出所有循环,仅仅跳出当前循环
while 的特殊用法一:
while :;do
 
done
 
while的特殊用法二:
while read LINE; do
 
done < /PATH/TO/SOMEFILE
 
while, untile,for
break: 提前退出
continue: 提前结束本轮循环,进入下一轮循环
 
 
练习4.
写一个脚本,完成以下功能:
说明:此脚本能于同一个repo文件中创建多个Yum源的指向;
1.接爱一个文件名做为参数,此文件存放至/etc/yum.repos.d目录中,且文件名以.repo为后缀:要求,此文件不能事先存,否则,报错;
2.在脚本中,提醒用户输入repo id:如果为quit ,则退出脚本;否则,断续完成下面的步骤;
3.repo name以及baseurl 的路径,而后以repo 文件的格式将其保存至指定的文件中;
4.enabled 默认为1,而gpgcheck 默认设定为0;
5.此脚本会循环执行多次,除非用户为repo id 指定为‘quit'.
 
 [root@beary test]# cat yumfile.sh
#!/bin/bash
#
REPOFILE=/etc/yum.repos.d/$ if [ -e $REPOFILE ];then # 判断文件是否已经
echo "$1 exists."
exit
fi read -p "Repository ID: " REPOID
until [ $REPOID == 'quit' ];do
echo "[$REPOID]" >> $REPOFILE
read -p "Repository name: " REPONAME
echo "name=$REPONAME" >> $REPOFILE
read -p "Repository url: " REPOURL
echo "baseurl=$REPOURL" >> $REPOFILE
echo -e 'enabled=1\ngpgcheck=0' >> $REPOFILE #enabled默认为1 ,gpgcheck默认为0
read -p "Repository ID: " REPOID
done echo "hello,world."

[root@beary test]# cat /etc/yum.repos.d/test2.repo
[2]
name=ABC
baseurl=http://abc.test.com
enabled=1
gpgcheck=0
[3]
name=abcw
baseurl=www.123.com
enabled=1
gpgcheck=0

 
 

sh7.创建yum源脚本练习的更多相关文章

  1. CentOS7linux通过http配置共享自动创建yum源的shell脚本

    因工作需要用到,所以记录一下配置流程 环境介绍: 两台CentOS7系统 yum源服务主节点IP:192.168.1.78 从节点IP:192.168.1.79(79从78上获取yum源) 配置78节 ...

  2. CentOS6.5创建yum源

    昨天给布置个新的需求,做一个Yum仓库,要求是HTTP式的,在某个服务器上搭建个Yum仓库,能让其它的机器有了这个机器的.repo仓库文件后就可以从本地下载安装软件,以前都是下载后直接yum inst ...

  3. Centos7一键配置阿里云yum源脚本

    Centos7一键配置阿里云yum源脚本 工作中linux系统经常要配置网络yum,故写了一个简单的配置阿里云yum源的的脚本可以单独使用也可以在做自动化部署的时候调用. #!/bin/bash # ...

  4. 本地安装yum源脚本

    rpm -qa|grep yum   //检查是否安装了yum. 如果没有安装就执行下面的文件 创建一个以xxx.sh结尾的文件 #!/bin/bash #创建两个文件用于挂载文件 mkdir /mn ...

  5. 本地创建yum源并安装lnmp

    注意:安装系统时,文件类型要未xfs类型,root要分配最多的空间 1.挂载安装光盘mount -t iso9660 -o loop CentOS-7-x86_64-DVD-1511.iso /mnt ...

  6. redhat linux 5上创建本地yum源

    1.挂载光驱 [root@rh5rac1 ~]#mkdir -p /mnt/cdrom [root@rh5rac1 ~]#mount /dev/cdrom /mnt/cdrom 2.将redhat光盘 ...

  7. 红帽系列linux自行配置本地yum源

    yum是红帽系列的一种包管理工具,能方便的自动解决安装包的依赖关系.以前用rpm包管理安装gcc时,rpm -ivh gcc.rpm ,一般会提示要安装gcc需要安装某某lib库,等你找到那个库的rp ...

  8. Linux使用系统光盘作为YUM源

    --Linux使用系统光盘作为YUM源------------------------------2013/11/07 1. 挂载光盘 Linux代码   # mkdir /media/cdrom   ...

  9. CentOS Yum 源搭建

    创建yum源服务,主要用到了两个软件createrepo和httpd.前者是创建yum源索引的工具,后者是提供文件在线流浪的功能,当然,除了httpd之外,你也可以使用nginx替代. creater ...

随机推荐

  1. 冰冻三尺非一日之寒-mysql(orm/sqlalchemy)

    第十二章  mysql ORM介绍    2.sqlalchemy基本使用 ORM介绍: orm英文全称object relational mapping,就是对象映射关系程序,简单来说我们类似pyt ...

  2. Qt界面编程之多窗口切换

    1.基础知识 信号和槽 信号和槽都是函数,用来完成信号间的协同操作 2.多窗口切换实例       功能 实现登录和重新登录功能 组成 登录界面 和主窗体界面 3.源代码提供  

  3. vs中使用beyondcompare比较

    开启 Visual Studio  的 [工具] /[选项] / [源代码管理] /[Visual Studio Team Foundation],并开启「配置用户工具」 如下图单击「添加」按钮 接着 ...

  4. HTTP Request Method共计15种

    更多信息可参考http://tools.jb51.net/table/http_request_method

  5. 利用django创建一个投票网站(六)

    建你的第一个 Django 项目, 第六部分 这一篇从第五部分(zh)结尾的地方继续讲起.再上一节中我们为网络投票程序编写了测试,而现在我们要为它加上样式和图片. 除了服务端生成的 HTML 以外,网 ...

  6. Python 3.5源码编译安装

    系统环境:CentOS 6.8-Minimal 安装Python依赖包: [root@Python src]# yum install zlib-devel bzip2-devel openssl-d ...

  7. Codeforces Round #384 (Div. 2) B. Chloe and the sequence(规律题)

    传送门 Description Chloe, the same as Vladik, is a competitive programmer. She didn't have any problems ...

  8. js ES6 多行字符串 连接字符串

    1. 以前,js多行字符串用\n写起来比较费事,所以最新的ES6标准新增了一种多行字符串的表示方法,用` ... `表示: 旧版写法 alert("你好,\n 我叫\n Olive" ...

  9. 【10-25】intelliji ide 学习笔记

    快捷键 /** alter+enter 导包,异常处理等提示 psvm 快速main函数 sout 快速sysout语句 fi 快速for循环 ctrl+d 重复一行 Ctrl+X 删除行 Ctrl+ ...

  10. document.compatMode属性

    document.compatMode用来判断当前浏览器采用的渲染方式. 官方解释: BackCompat:标准兼容模式关闭.CSS1Compat:标准兼容模式开启. 当document.compat ...