for循环的使用
#输出字符串中的字符,没有进行循环
for str in '这 个 字符 串 不进行 循环'
do
echo -e "$str"
done
#for循环的另一种使用
#for((i=0;i<$#;i++))
for((i=0;i<10;i++))
do
echo "输出 -$i"
done
#显示以.bash开头的文件
for FILE in $HOME/.bash*
do
echo $FILE
done
运行后的结果为
运行输出 1
运行输出 2
运行输出 3
运行输出 4
这 个 字符 串 不进行 循环
输出 -0
输出 -1
输出 -2
输出 -3
输出 -4
输出 -5
输出 -6
输出 -7
输出 -8
输出 -9
while循环使用
这里有个简单的事情记录一下就当是回顾一下之前的命令
#使用while循环
count=10
while [ $count -gt 0 ]
do
count=`expr $count-1`
echo "当前的count值是:$count"
done
这样写运行会出现一个问题,看看执行结果
当前的count值是:10-1
for_while_util.sh: line 46: [: 10-1: integer expression expected
修改一下
count=10
while [ $count -gt 0 ]
do
count=`expr $count - 1` #符号周边加上空格
echo "当前的count值是:$count"
done
#下个办法就是声明类型
#-i 声明为整数
#-a 声明未数组
#-f 声明未函数
#-r 声明未只读
declare -i count=10
while [ $count -gt 0 ]
do
count=`expr $count-1` #符号周边可以不是空格
echo "当前的count值是:$count"
done
运行的结果正常
当前的count值是:9
当前的count值是:8
当前的count值是:7
当前的count值是:6
当前的count值是:5
当前的count值是:4
当前的count值是:3
当前的count值是:2
当前的count值是:1
当前的count值是:0
继续一个wille的例子
#while循环可用于读取键盘信息
echo "type<Ctr+D> to terminate"
echo -n '输入您最喜欢的应用:'
while read FLIM
do
echo "您喜欢的应用是:$FLIM"
done
执行时候会让你输入对应的应用就会执行你相应的操作
type<Ctr+D> to terminate
输入您最喜欢的应用:weix
您喜欢的应用是:weix
注意事项
#在shell中while的死循环有多种,只要知道什么情况下会进入死循环就好,判断boolean和是否是空的就知道是不是死循环了
#while true=while :=while [ 0 ]=while [ 1 ]=while [ 任意的非判断字符 ]
i=0.2
while [ $(echo "$i <= 1.0" | bc -l) -eq 1 ] #这里需要又-eq,如果没有就会成为以下的结果
do
b=$(echo "$i <= 1.0" | bc -l)
echo $b "echo \"$i <= 1.0\" | bc -l"
echo $i
i=$(echo "$i + 0.2" | bc -l)
done
echo "done"
#这个会一直判断为true
while [ 0 ]
do
echo "while is 0"
done
#这个也会一直循环
while [ 1 ]
do
echo "while is 1"
done
until 循环使用
u=0
until [ ! $u -lt 10 ] #!号后边一定记得空格
do
echo "使用until输出:$u"
u=`expr $u + 1` #这里不加空格会出大事,一直会循环,你懂得
done
执行后的结果
使用until输出:0
使用until输出:1
使用until输出:2
使用until输出:3
使用until输出:4
使用until输出:5
使用until输出:6
使用until输出:7
使用until输出:8
使用until输出:9
以上我们说了闹事的循环,接下来我们怎么能让它不闹事呢,那就需要跳出循环
跳出循环
之前在使用时候使用过“;;”
那个只是在swich中使用不让一箭穿心的运行,算是缓解循环的一种,
break命令
#使用break跳出循环
while :
do
echo -n "input a number between 1 to 5:"
read anum
case $anum in
1|2|3|4|5)echo "your write number is $anum"
;;
*)echo "your number must between 1 and 5"
break
;;
esac
done
运行结果
input a number between 1 to 5:g
your number must between 1 and 5
#跳出多层循环时候使用break(n),跳出到第几层就写几
for var in 1 2 3
do
for var1 in 1 2
do
if [ $var -eq 2 -a $var1 -eq 2 ]
then
echo "满足条件我跳出第二次的循环"
break 2
else
echo "循环1=$var 循环2=$var1"
fi
done
done
运行结果
循环1=1 循环2=1
循环1=1 循环2=2
循环1=2 循环2=1
满足条件我跳出第二次的循环
使用continu
while :
do
echo -n "Input a number between 1 to 5: "
read aNum
case $aNum in
1|2|3|4|5) echo "Your number is $aNum!"
;;
*) echo "You do not select a number between 1 to 5!"
continue
echo "Game is over!"
;;
esac
done
这里没有输出Game is over
奇偶输出
#使用continu
numbers="1 2 3 4 5 6 7"
for num in $numbers
do
i=`expr $num % 2`
if [ $i -eq 0 ]
then
echo "数字$num 不是奇数!"
continue
fi
echo "数字$num 是奇数"
done
输出结果
数字1 是奇数
数字2 不是奇数!
数字3 是奇数
数字4 不是奇数!
数字5 是奇数
数字6 不是奇数!
数字7 是奇数
分享到:
相关推荐
Shell脚本编程是一种在Linux和类Unix操作系统中广泛使用的自动化工具,它允许用户通过命令行接口执行一系列操作,实现批处理、系统管理任务或者复杂的任务自动化。本书《Shell脚本编程诀窍——适用于Linux、Bash等》...
“shell”表示这是一个基于Unix Shell语言的脚本,“循环调度”和“调度”则强调了脚本的核心功能——循环执行任务。 #### 四、部分代码分析 接下来,我们对给定的部分内容进行详细解析,以更好地理解这段脚本的...
1 C语言风格的for循环 格式如下: for ((exp1;exp2;exp3)) do statements done 运行过程: 1)先执行exp1; 2 )再执行exp2,如果它的判断结果成立,则执行循化体中的语句,否则结束整个for循环; 3)执行完循环体...
while循环是Shell脚本中最简单的一种循环,当条件满足时,while重复地执行一组语句,当条件不满足时,就退出while循环。 Shell while 循环的语法结构: while condition do statements done 这里condition表示判断...
#### 五、简单的Shell脚本示例——猜数字游戏 1. **游戏规则**:程序随机生成一个介于1到10之间的整数,用户猜测该数字,直到猜中为止。 2. **脚本创建**:创建一个新的脚本文件,如 `guess_number.sh`。 3. **编写...
内容概要:shell脚本入门——流程控制_本文介绍了Shell脚本中几种常用的流程控制结构,包括if语句、case语句、for循环、while循环以及until循环,每种结构都给出了具体的使用场景和实例说明,旨在帮助初学者快速掌握...
本课设计的主要目的是让学生掌握 Linux 操作系统中 shell 脚本编程技术的各种知识点,包括变量定义、变量使用、循环控制结构、条件选择结构、用户交互、文件读写、文本内容分析以及 Linux 重要命令的使用等。...
这两个PDF合集——"100个Shell脚本经典案例"和"250个拿来即用shell脚本",为初学者和经验丰富的IT从业者提供了丰富的学习材料,帮助他们掌握和提升Shell脚本编写技能。 首先,让我们深入了解一下Shell脚本的基本...
该课程设计旨在掌握 Linux 操作系统中 shell 脚本编程技术的变量定义、变量使用、循环控制结构、条件选择结构、用户交互、文件读写、文本内容分析以及 Linux 重要命令的使用等,以验证学生对于 shell 脚本编程的掌握...
《Shell脚本专家指南》是一本专为提升Unix和...两本PDF版本的书籍——中文版《大家网》Shell脚本专家指南和英文版《Apress》Expert Shell Scripting,为不同语言需求的读者提供了便利,确保理解和应用这些知识无障碍。
在本Linux+Shell编程课程设计中,我们将深入探讨如何利用Shell脚本来实现Linux系统的用户管理。Shell编程是Linux系统中的重要一环,它提供了一种简单而强大的方式来自动化日常的系统任务,包括用户账户的创建、修改...
本文将深入探讨“shell脚本贪食蛇0.7”这个项目,这是一个利用shell脚本来实现的经典游戏——贪食蛇。尽管这个脚本可能存在一些未修复的bug,但它的核心思想和算法实现是值得我们学习和研究的。 首先,我们要理解...
本文将深入探讨两个强大的文本处理工具——`sed`和`awk`,它们经常被用于Shell脚本中,以实现对文本文件的高效处理。`sed`(流编辑器)和`awk`(一种编程语言)都是数据分析和文本转换的强大工具,尤其在处理日志...
**Shell基础——Shell入门资料** 在信息技术领域,Linux操作系统因其开放源码、稳定性和灵活性而备受推崇。Linux的用户界面主要是命令行界面,也就是我们常说的终端或控制台,而Shell则是用户与操作系统交互的接口...
Shell脚本是包含一系列命令的文本文件,可以被Shell执行。在脚本中,可以使用控制结构(如if-else,for循环)和函数,实现自动化任务。执行脚本时,会创建一个新的子Shell来运行脚本内的命令。 5. **进程 (Process...
Shell脚本的强大之处在于能够调用各种Unix命令,实现文件操作、文本处理、系统管理等复杂任务。以下列举了一些常用的Unix命令: - `echo`:用于输出文本到标准输出设备(屏幕)。 - `ls`:列出当前目录下的文件和子...
for 实现: 代码如下: #!/bin/bash set i=0 set j=0 for((i=0;i<10;)) ... echo “————-j is $j ——————-“ ... echo “———-j is $... 您可能感兴趣的文章:Shell中的循环语句for、while、until实例讲解Shel
在Shell编程中,循环结构是不可或缺的一部分,它...这些是Shell脚本中循环和控制流程的基础概念,它们构成了编写复杂自动化任务的核心。通过熟练掌握这些知识,你可以创建出高效、灵活的Shell脚本来简化日常的IT工作。
标题中的“关于shell脚本”指的是Unix/Linux操作系统中用于自动化任务和系统管理的脚本语言——Shell脚本。Shell脚本是一种解释型编程语言,它允许用户通过命令行界面(CLI)来执行一系列命令,而无需手动输入每个...
这个例子展示了如何使用shell脚本来实现用户交互和调用其他命令进行具体操作。 - `cat -n ULIB`:显示ULIB脚本的行号,便于阅读和理解程序结构。 - `BOLD`和`NORMAL`变量:保存终端的粗体和正常显示的控制序列,...