我是靠谱客的博主 善良毛衣,最近开发中收集的这篇文章主要介绍shell脚本之for循环语法结构(实现0-100奇数的相加、判断所输入的数字为质数)----break、exit、continue循环控制语句的写法,觉得挺不错的,现在分享给大家,希望可以做个参考。
概述
1、列表循环
功能:用于将一组命令执行已知的次数
基本语法格式:
(1)实现1-10的倒数:
[root@server1 shells]# for i in {10..1};do echo $i;done //注意中间用..隔开
10
9
8
7
6
5
4
3
2
1
(2)实现1-10奇数的打印
[root@server1 shells]# for i in {1..10..2};do echo $i;done //{开始..结束..步长}
1
3
5
7
9
2、类c风格
(1)实现1-100奇数的和运算
第一步:要实现shell脚本的四则运算,请参谋我之前写的这篇文章
直接上代码吧。没啥好说的了:
再看看我写的吧:
#!/bin/bash
sum=0,i=1; //定义变量
for i in $(seq 1 2 100) // seq是个小工具,所以要用$()来执行命令行
do
$((sum = $sum+$i)) &> /dev/null //因为$(())四则运算方法是计算出来数值,而这个中间计算出来的过程,如果我们放在command行,相当于将一个计算结果放在命令行,那肯定要报错,所以我们将它导入/dev/null
done
echo "$sum"
要求:利用两个文件中的内容(user.txt和userpasswd.txt)创建用户。
代码如下:
#!/bin/bash
2 FILE1=/mnt/user.txt
3 FILE2=/mnt/userpasswd.txt
4 LINE_NUM=`sed -n '$=' $FILE1`
5 for line in `seq 1 $LINE_NUM`
6 do
7 USERNAME=$(sed -n ${line}p $FILE1)
8 PASSWD=$(sed -n ${line}p $FILE2)
9 id $USERNAME &> /dev/null
10 [ $? -ne 0 ] &&
11 { useradd $USERNAME
12 echo "$PASSWD" |passwd --stdin $USERNAME &> /dev/null
13 echo "$USERNAME is create"
14 } || echo "$USERNAME is exit"
15 done
2、循环控制语句
exit : 能将执行结果退出值更改为任意值。
执行结果:非0表示执行错误
更改:
执行结果:
尽管执行的命令仍然是错误的,但是执行结果退出值却更改了。
(1)判断所输入的整数是否为质数:
第一步:什么是质数?(且1不为质数也不为合数)
第二步:直接上代码
#!/bin/bash
read -p "a int num:" N //通过交互输入模式输入被除数
a=$(($N-1)) //将输入的数字定义为一个变量存储
[ $N -eq 1 ] && echo "no" && exit
for i in $(seq 2 "$a") //定义除数,除数是除了1和它本身的且小于它本身的数字
do
if [ $(($N%$i)) -eq 0 ] //如果这个被除数和任意一个除数(2~N-1)的余数为0,说明就被整除了,就不是质数了,直接打印不是,退出程序
then
echo "no"
exit
elif [ $(($N%i)) -ne 0 ] //如果不为0,继续挑选下一个,直到定义的除数中,被除数余所有的除数都不为0,循环结束,打印yes
then
continue
else
continue
fi
done
echo "yes"
最后
以上就是善良毛衣为你收集整理的shell脚本之for循环语法结构(实现0-100奇数的相加、判断所输入的数字为质数)----break、exit、continue循环控制语句的写法的全部内容,希望文章能够帮你解决shell脚本之for循环语法结构(实现0-100奇数的相加、判断所输入的数字为质数)----break、exit、continue循环控制语句的写法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复