您的位置:首页 > 产品设计 > UI/UE

break 退出循环 continue 提前进入下一轮循环 while的特殊用法

2015-08-31 15:00 711 查看
写一个脚本,此脚本能于同一个repo文件中创建多个Yum源的指向 上节课所讲的定义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
回顾:.,$s@/etc/yum.repos.d/$1@$REPOFILE@g 从当前行到最后一行 替换这个为那个

#!/bin/bash#REPOFILE=/etc/yum.repos.d/$1if [ -e $REPOFILE ]; then echo "$1 is exist." exit 3firead -p "Repository ID:" REPOIDuntil [ $REPOID == 'quit' ]; do echo "[$REPOID]" >> $REPOFILE read -p "Repository name " REPONAME echo "name=$REPONAME" >> $REPOFILE read -p "Repository Baseurl" REPOURL echo "baseurl=$REPOURL" >> $REPOFILE echo -e 'enabled=1\ngpgcheck=0' >> $REPOFILE read -p "Repository ID: " REPOIDdone########################################################################################计算100以内所有奇数的和 continue 提前进入下一轮循环#!/bin/bash
#
let SUM=0
let I=0
while [ $I -lt 100 ]; do
let I++
if [ $[$I%2] -eq 0 ]; then
continue
fi
let SUM+=$I
done
echo $SUM
#####################################################################################3
计算1000以内所有正整数的和,当sum>5000的时候就不要加了 break 提前退出循环 -e 文件存在

#!/bin/bash
#
declare -i SUM=0
for I in {1..100}; do
let SUM+=$I
if [ $SUM -gt 5000 ]; then
break
fi
done
echo $I
echo $SUM
##################################################
格式:
while read LINE; do

done < /path/to/somefile
判断/etc/passwd下的用户哪个用户的shell为bin下的bash,如果是bash就显示此用户的用户名,否则不显示;
且显示6个信息就自动退出;且用户ID小于等于505就不显示
#!/bin/bash
#
let I =0
FILE=/etc/passwd
while read FILE; do
[ `echo $FILE | awk -F : '{print $3}'` -lt 505 ] && continue
[ `echo $FILE | awk -F : '{print $7}'` == '/bin/bash' ] && echo $FILE | awk -F : '{print $1}' && let I++
[ $I -eq 6 ] && break

done < $FILE
###################################################################################################################
1、判断一个指定的bash脚本是否存在语法错误;如果有错误,则提醒用户键入Q或q无视错误并退出,其他任何键都可以vim打开这个指定的脚本
2、如果用户通过vim打开编辑后并保存退出时,仍然有错误,则重复第一步的内容,否则就正常关闭退出

#!/bin/nbash
#
bash -n $1

until bash -n $1 &> /dev/null; do
read -p "some error q/Q to quit others for edit" CHOICE

case $I in
q|Q)
echo "something wrong"
exit 5;;
*)

vim + $1;;
esac
done
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息